web和javaweb,java 文件分割器_Java分割器

 2023-11-19 阅读 36 评论 0

摘要:java 文件分割器web和javaweb?Java Spliterator is one of the four iterators – Enumeration, Iterator, ListIterator and Spliterator. Java的Spliterator是四個迭代器之一-枚舉, 迭代器 , 的ListIterator和Spliterator。 Java分割器 (Java Spliterator) L

java 文件分割器

web和javaweb?Java Spliterator is one of the four iterators – Enumeration, Iterator, ListIterator and Spliterator.

Java的Spliterator是四個迭代器之一-枚舉, 迭代器 , 的ListIterator和Spliterator。

Java分割器 (Java Spliterator)

Like Iterator and ListIterator, Spliterator is a Java Iterator, which is used to iterate elements one-by-one from a List implemented object.

像Iterator和ListIterator一樣,Spliterator是Java迭代器,用于從List實現的對象中逐個迭代元素。

Some important points about Java Spliterator are:

關于Java Spliterator的一些重要點是:

  1. Java Spliterator is an interface in Java Collection API.

    Java Spliterator是Java Collection API中的接口。
  2. Spliterator is introduced in Java 8 release in java.util package.

    在Java 8發行版的java.util軟件包中引入了Spliterator。
  3. It supports Parallel Programming functionality.

    它支持并行編程功能。
  4. We can use it for both Collection API and Stream API classes.

    我們可以將其用于Collection API和Stream API類。
  5. It provides characteristics about Collection or API objects.

    它提供有關Collection或API對象的特征。
  6. We can NOT use this Iterator for Map implemented classes.

    我們不能將此Iterator用于Map實現的類。
  7. It uses tryAdvance() method to iterate elements individually in multiple Threads to support Parallel Processing.

    它使用tryAdvance()方法分別迭代多個線程中的元素,以支持并行處理。
  8. It uses forEachRemaining() method to iterate elements sequentially in a single Thread.

    它使用forEachRemaining()方法在單個Thread中依次迭代元素。
  9. It uses trySplit() method to divide itself into Sub-Spliterators to support Parallel Processing.

    它使用trySplit()方法將自身分為子拆分器,以支持并行處理。
  10. Spliterator supports both Sequential and Parallel processing of data.

    分離器支持數據的順序和并行處理。

Spliterator itself does not provide the parallel programming behavior. However, it provides some methods to support it. Developers should utilize Spliterator interface methods and implement parallel programming by using Fork/Join Framework (one good approach).

分離器本身不提供并行編程行為。 但是,它提供了一些支持它的方法。 開發人員應利用Spliterator接口方法,并使用Fork / Join Framework實現并行編程(一種不錯的方法)。

分離器的主要功能 (Main Functionalities of Spliterator)

  • Splitting the source data.

    拆分源數據。
  • Processing the source data.

    處理源數據。

Java Spliterator類圖 (Java Spliterator Class Diagram)

The following diagram shows the Class Diagram of Java Spliterator interface. It has many fields and methods.

下圖顯示了Java Spliterator接口的類圖。 它具有許多領域和方法。

Java分割器方法 (Java Spliterator Methods)

In this section, we will list out all Java Spliterator methods one by one with some useful description.

在本節中,我們將逐一列出所有Java Spliterator方法,并提供一些有用的描述。

  1. int characteristics(): Returns a set of characteristics of this Spliterator and its elements.

    int Characteristics():返回此Spliterator及其元素的一組特征。
  2. long estimateSize(): Returns an estimate of the number of elements that would be encountered by a forEachRemaining() traversal, or returns Long.MAX_VALUE if infinite, unknown, or too expensive to compute.

    long EstimateSize(long):返回對forEachRemaining()遍歷將遇到的元素數的估計,如果無限,未知或計算成本太高,則返回Long.MAX_VALUE。
  3. default void forEachRemaining(Consumer action): Performs the given action for each remaining element, sequentially in the current thread, until all elements have been processed or the action throws an exception.

    默認void forEachRemaining(Consumer action):在當前線程中按順序對每個剩余元素執行給定操作,直到所有元素都已處理或該操作引發異常。
  4. default Comparator getComparator(): If this Spliterator’s source is SORTED by a Comparator, returns that Comparator.

    默認的Comparator getComparator():如果此Spliterator的源由Comparator排序,則返回該Comparator。
  5. default long getExactSizeIfKnown(): Convenience method that returns estimateSize() if this Spliterator is SIZED, else -1.

    默認的long getExactSizeIfKnown():如果此Splitizer為SIZED,則返回的方法為EstimateSize()的便捷方法,否則為-1。
  6. default boolean hasCharacteristics(int characteristics): Returns true if this Spliterator’s characteristics() contain all of the given characteristics.

    缺省值boolean hasCharacteristics(int features):如果此Spliterator的features()包含所有給定的特性,則返回true。
  7. boolean tryAdvance(Consumer action): If a remaining element exists, performs the given action on it, returning true; else returns false.

    boolean tryAdvance(Consumer action):如果存在剩余元素,則對其執行給定的操作,返回true;否則,返回true。 否則返回false。
  8. Spliterator trySplit(): If this spliterator can be partitioned, returns a Spliterator covering elements, that will, upon return from this method, not be covered by this Spliterator.

    Spliterator trySplit():如果可以對該拆分器進行分區,則返回一個包含元素的Spliterator,從此方法返回后,該元素將不被此Spliterator覆蓋。

Java分離器示例 (Java Spliterator Example)

In this section, we will discuss about how to create Java Spliterator object using spliterator() and will develop simple example.

在本節中,我們將討論如何使用spliterator()創建Java Spliterator對象,并開發簡單的示例。

import java.util.Spliterator;
import java.util.ArrayList;
import java.util.List;public class SpliteratorSequentialIteration
{public static void main(String[] args) {List<String> names = new ArrayList<>();names.add("Rams");names.add("Posa");names.add("Chinni");// Getting SpliteratorSpliterator<String> namesSpliterator = names.spliterator();// Traversing elementsnamesSpliterator.forEachRemaining(System.out::println);			}
}

Output:-

輸出:-

Rams
Posa
Chinni

If we observe the above program and output, we can easily understand that this Spliterator.forEachRemaining() method works in the same way as ArrayList.foreach(). Yes, both works in similar way.

如果觀察上述程序和輸出,我們可以很容易地理解,這個Spliterator.forEachRemaining()方法的工作方式與ArrayList.foreach ()相同。 是的,兩者的工作方式相似。

分流器的優點 (Advantages of Spliterator)

  1. Unlike Iterator and ListIterator, it supports Parallel Programming functionality.

    與Iterator和ListIterator不同,它支持并行編程功能。
  2. Unlike Iterator and ListIterator, it supports both Sequential and Parallel Processing of data.

    與Iterator和ListIterator不同,它支持數據的順序和并行處理。
  3. Compare to other Iterators, it provides better performance.

    與其他Iterators相比,它提供了更好的性能。

迭代器與拆分器 (Iterator vs Spliterator)

IteratorSpliterator
Introduced in Java 1.2.Introduced in Java 1.8.
It is an Iterator for whole Collection API.It is an Iterator for both Collection and Stream API, except Map implemented classes.
It is an Universal Iterator.It is NOT an Universal Iterator.
It does NOT support Parallel Programming.It supports Parallel Programming.
迭代器 分流器
在Java 1.2中引入。 在Java 1.8中引入。
它是整個Collection API的迭代器。 它是Collection和Stream API的迭代器,Map實現的類除外。
它是一個通用迭代器。 它不是通用迭代器。
它不支持并行編程。 它支持并行編程。

That’s all about Spliterator in Java.

這就是Java中的Spliterator。

Reference: API Doc

參考: API文檔

翻譯自: https://www.journaldev.com/13521/java-spliterator

java 文件分割器

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/183285.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息