N的联合列表在java [英] Union of N lists in java

查看:158
本文介绍了N的联合列表在java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在java中创建N个列表的联合的最佳方法是什么?



例如

  List< Integer> LIST_1 = Lists.newArrayList(1); 

List< Integer> LIST_2 = Lists.newArrayList(2);

List< Integer> LIST_3 = Lists.newArrayList(3);

List< Integer> LIST_4 = Lists.newArrayList(4);

List< Integer> LIST_1_2_3_4 = Lists.newArrayList(1,2,3,4);

assert LIST_1_2_3_4.equals(union(LIST_1,LIST_2,LIST_3,LIST_4));

union方法将接受一个var args参数

< Item>列表<项目> union(List< Item> ... itemLists)

是否有提供此方法的库。方法是循环遍历数组并将每个列表累加到一个中。

您可以使用 Google Guava

  List< Integer> join = new ArrayList<>(Iterables.concat(LIST_1,LIST_2,LIST_3,LIST_4)); 

或仅供比较:

  Iterables.elementsEqual(LIST_1_2_3_4,Iterables.concat(LIST_1,LIST_2,LIST_3,LIST_4)); 


What is the best way to create a union of N lists in java ?

For eg

List<Integer> LIST_1 = Lists.newArrayList(1);

List<Integer> LIST_2 = Lists.newArrayList(2);

List<Integer> LIST_3 = Lists.newArrayList(3);

List<Integer> LIST_4 = Lists.newArrayList(4);

List<Integer> LIST_1_2_3_4 = Lists.newArrayList(1,2,3,4);

assert LIST_1_2_3_4.equals(union(LIST_1,LIST_2,LIST_3,LIST_4)); 

The union method will take a var args parameter

<Item> List<Item> union(List<Item> ... itemLists)

Is there a library which provides this method.Simplest way is to loop through the array and accumulate each list into one

解决方案

You could use Google Guava:

List<Integer> joined = new ArrayList<>( Iterables.concat(LIST_1, LIST_2, LIST_3, LIST_4) );

or for comparison only:

Iterables.elementsEqual( LIST_1_2_3_4, Iterables.concat(LIST_1, LIST_2, LIST_3, LIST_4) );

这篇关于N的联合列表在java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆