Java 是否有合并迭代器的实现?

Java 是否有合并迭代器的实现?,java,guava,apache-commons-collection,Java,Guava,Apache Commons Collection,现有的集合库(guava,commons collection)是否提供了一个MergeIterator,它由以下内容构成: MergeIterator(Iterator<Comparable> iters...) 写这门课很有趣,但我不想重新发明轮子。番石榴就是这样。番石榴就是这样。你可以使用commons collections的排序工具: List<Integer> list1 = Arrays.asList(1, 3, 5); List<Integer

现有的集合库(guava,commons collection)是否提供了一个MergeIterator,它由以下内容构成:

MergeIterator(Iterator<Comparable> iters...)

写这门课很有趣,但我不想重新发明轮子。

番石榴就是这样。

番石榴就是这样。

你可以使用commons collections的排序工具:

 List<Integer> list1 = Arrays.asList(1, 3, 5);
 List<Integer> list2 = Arrays.asList(2, 8);

 Iterator<Integer> merged =
    IteratorUtils.collatedIterator(ComparatorUtils.NATURAL_COMPARATOR,
                                   list1.iterator(), list2.iterator());

 System.out.println(IteratorUtils.toList(merged));

您可以使用commons集合的排序规则计算器:

 List<Integer> list1 = Arrays.asList(1, 3, 5);
 List<Integer> list2 = Arrays.asList(2, 8);

 Iterator<Integer> merged =
    IteratorUtils.collatedIterator(ComparatorUtils.NATURAL_COMPARATOR,
                                   list1.iterator(), list2.iterator());

 System.out.println(IteratorUtils.toList(merged));
 [1, 2, 3, 5, 8]