split(",")); public static void main(String[] args) { // 集合分片 List<List<String>> newList = Lists.partition(OLD_LIST, 3); // 打印分片集合 newList.forEach(i -> { System.out.println("集合长度:" + i.size()); }); } }
List<Integer> intList = Lists.newArrayList(1,2,3,0,4,5,6,0,7,8);int[] indexes = Stream.of(IntStream.of(-1), IntStream.range(0, intList.size()) .filter(i -> intList.get(i) ==0), IntStream.of(intList.size())) .flatMapToInt(s -> s).toArray(); List<List<Integer>>...
@Test public void givenList_whenParitioningIntoSublistsUsingPartitionBy_thenCorrect() { List<Integer> intList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8); Map<Boolean, List<Integer>> groups = intList.stream().collect(Collectors.partitioningBy(s -> s > 6)); List<List<Integer>> s...
List<Integer> intList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8); List<List<Integer>> subSets = Lists.partition(intList, 3); // When intList.add(9); // Then List<Integer> lastPartition = subSets.get(2); List<Integer> expectedLastPartition = Lists.<Integer> newArrayList(7,...
System.out.println("集合长度:"+ i.size()); }); } } 复制代码 以上代码的执行结果如下图所示: 4.JDK Stream 通过 JDK 8 中的 Stream 来实现分片就无需添加任何框架了,具体的实现代码如下: importjava.util.Arrays;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;/** ...
对于这个相对简单的操作,标准 Java 集合 API 竟然不支持它。幸运的是,Guava 和 Apache-Commons 都提供了对应的 API 。
{// 原集合privatestaticfinal List<String>OLD_LIST=Arrays.asList("唐僧,悟空,八戒,沙僧,曹操,刘备,孙权".split(","));publicstaticvoidmain(String[]args){// 分片处理List<List<String>>newList=ListUtil.partition(OLD_LIST,3);newList.forEach(i->{System.out.println("集合长度:"+i.size());})...
List<List<String>> newList = Lists.partition(OLD_LIST, 3); // 打印分片集合 newList.forEach(i -> { System.out.println("集合长度:" + i.size()); }); } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ...
String> OLD_LIST = Arrays.asList("唐僧,悟空,八戒,沙僧,曹操,刘备,孙权".split(","));public static void main(String[] args) {// 集合分片List<List<String>> newList = Lists.partition(OLD_LIST, 3);// 打印分片集合newList.forEach(i -> {System.out.println("集合长度:" + i.size());...
(false,Arrays.asList(oddResult.get(0),oddResult.get(oddResult.size()-1)));}elseif(oddResult.size()==1){result.put(false,Arrays.asList(oddResult.get(0),oddResult.get(0)));// 如果只有一个元素,则最小值和最大值相同}else{result.put(false,Collections.emptyList());// 如果没有元素,...