Java 集合中多个列表的内容
有没有办法将多个列表的内容放到一个集合中?(消除重复项)Java 集合中多个列表的内容,java,Java,有没有办法将多个列表的内容放到一个集合中?(消除重复项) 例如,listA、listB、listC的内容都可以放在一个集合中。(假设它们属于同一类型)是的,如果您正在寻找一组列表,您可以声明一组列表 Set<List<SomeType>> mySet = new Set<>(); mySet.add(listA); mySet.add(listB); mySet.add(listC); Set mySet=new Set(); mySet.add(listA
例如,listA、listB、listC的内容都可以放在一个集合中。(假设它们属于同一类型)是的,如果您正在寻找一组列表,您可以声明一组列表
Set<List<SomeType>> mySet = new Set<>();
mySet.add(listA);
mySet.add(listB);
mySet.add(listC);
Set mySet=new Set();
mySet.add(listA);
mySet.add(listB);
mySet.add(listC);
你当然可以
该集合将添加每个列表中的所有元素,然后根据objectsequals
和hashCode()
方法删除任何重复的对象。(实现一个时,应实现另一个。)
List listA=new ArrayList();
List listB=新的ArrayList();
List listC=new ArrayList();
Set=newhashset();
set.addAll(listA);
set.addAll(listB);
set.addAll(listC);
编辑:做了一些测试
下面是一个小测试方法,它表明了这一点:
public static void main(final String[] args) {
final String one = new String("one");
final String two = new String("two");
final String three = new String("three");
final String four = new String("four");
final List<String> listA = new ArrayList<String>();
listA.add(one);
listA.add(two);
final List<String> listB = new ArrayList<String>();
listB.add(two);
listB.add(three);
final List<String> listC = new ArrayList<String>();
listC.add(three);
listC.add(four);
final Set<String> set = new HashSet<String>();
set.addAll(listA);
set.addAll(listB);
set.addAll(listC);
System.out.println(set);
}
publicstaticvoidmain(最终字符串[]args){
最终字符串一=新字符串(“一”);
最终字符串二=新字符串(“二”);
最终字符串三=新字符串(“三”);
最终字符串四=新字符串(“四”);
最终列表listA=新的ArrayList();
增加(一);
增加(两个);
最终列表listB=新的ArrayList();
列表b.添加(两个);
列表b.添加(三个);
最终列表listC=新的ArrayList();
增加(三);
增加(四);
最终集=新的HashSet();
set.addAll(listA);
set.addAll(listB);
set.addAll(listC);
系统输出打印项次(套);
}
输出为:
[二,一,三,四]
这表明实现正在工作,但您显然应该记住,剩余对象的顺序可能不是您预期的或期望的。是的,我们可以。你试过什么?你是怎么做的?它们是同一类型的吗?你没有给我们太多的信息,很难帮助你…你想从每个列表中消除重复项还是从整个liatA、listB、listC组中消除重复项不应该有重复项?我只想将3个列表合并到一个集合类型,同时消除重复项。
public static void main(final String[] args) {
final String one = new String("one");
final String two = new String("two");
final String three = new String("three");
final String four = new String("four");
final List<String> listA = new ArrayList<String>();
listA.add(one);
listA.add(two);
final List<String> listB = new ArrayList<String>();
listB.add(two);
listB.add(three);
final List<String> listC = new ArrayList<String>();
listC.add(three);
listC.add(four);
final Set<String> set = new HashSet<String>();
set.addAll(listA);
set.addAll(listB);
set.addAll(listC);
System.out.println(set);
}