Java 如何仅将新项目从一个列表复制到另一个列表
我有一个字符串L1的列表 我有另一个字符串L2列表 我只想将L2中尚未包含的项目从L1复制到L2Java 如何仅将新项目从一个列表复制到另一个列表,java,android,Java,Android,我有一个字符串L1的列表 我有另一个字符串L2列表 我只想将L2中尚未包含的项目从L1复制到L2 我知道这可能很简单,但我找不到一个简单的解决方案用两个列表填充一个集合,然后将集合转换回一个列表(列表2) Set Set=newhashset(列表2); set.addAll(列表1); list2=新阵列列表(集合); 从下面的代码片段中获取帮助。这会有帮助的 List<String> l1 = new ArrayList<String>();
我知道这可能很简单,但我找不到一个简单的解决方案用两个列表填充一个集合,然后将集合转换回一个列表(列表2)
Set Set=newhashset(列表2);
set.addAll(列表1);
list2=新阵列列表(集合);
从下面的代码片段中获取帮助。这会有帮助的
List<String> l1 = new ArrayList<String>();
List<String> l2 = new ArrayList<String>();
l1.add("A");
l1.add("B");
l1.add("C");
l2.add("C");
l2.add("D");
l2.add("E");
Set<String> s = new HashSet<String>();
s.addAll(l1);
s.addAll(l2);
List<String> finalList = new ArrayList<String>();
finalList.addAll(s);
for (String str : finalList) {
System.out.println(str);
}
List l1=new ArrayList();
列表l2=新的ArrayList();
l1.添加(“A”);
l1.添加(“B”);
l1.添加(“C”);
l2.添加(“C”);
l2.添加(“D”);
l2.添加(“E”);
Set s=新的HashSet();
s、 addAll(l1);
s、 addAll(l2);
List finalList=new ArrayList();
finalList.addAll(s);
for(字符串str:finalList){
系统输出打印项次(str);
}
类似
Set<String> stringSet = new HashSet<>(Arrays.asList(new String[]{"1","2","3"}));
stringSet.addAll(Arrays.asList(new String[]{"1","2","3","4"}));
List<String> finalList = new ArrayList<>(stringSet);
Set-stringSet=newhashset(Arrays.asList(新字符串[]{“1”、“2”、“3”}));
addAll(Arrays.asList(新字符串[]{“1”、“2”、“3”、“4”}));
List finalList=新的ArrayList(stringSet);
列表中的值是否总是唯一的?如果是,则使用集合更合适。此问题似乎是的重复。您可以使用removeAll从新列表中删除现有元素,并将其传递给现有列表,现在新列表仅包含新项目,您现在可以在现有列表上调用addAll传递给新列表…@RahulVerma添加了3行。
Set<String> stringSet = new HashSet<>(Arrays.asList(new String[]{"1","2","3"}));
stringSet.addAll(Arrays.asList(new String[]{"1","2","3","4"}));
List<String> finalList = new ArrayList<>(stringSet);