Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ANDROID:删除重复的字符串_Java_Android_Arrays_Arraylist - Fatal编程技术网

Java ANDROID:删除重复的字符串

Java ANDROID:删除重复的字符串,java,android,arrays,arraylist,Java,Android,Arrays,Arraylist,我无法完全删除列表中的重复字符串 String[]myno1=新字符串[]{“01”、“02”、“03”、“04”、“05”、“06”, "07", "08", "09", "10", "11", "12", "13", "14", "15"}; 字符串[]myno=新字符串[]{“01”、“03”、“15”}; List stringList=newarraylist(Arrays.asList(myno)); List stringList1=新的ArrayList(Arrays.asLis

我无法完全删除
列表中的重复字符串

String[]myno1=新字符串[]{“01”、“02”、“03”、“04”、“05”、“06”,
"07", "08", "09", "10", "11", "12", "13", "14", "15"};
字符串[]myno=新字符串[]{“01”、“03”、“15”};
List stringList=newarraylist(Arrays.asList(myno));
List stringList1=新的ArrayList(Arrays.asList(myno1));
stringList.addAll(stringList1);
Set Set=新哈希集(stringList);
stringList.clear();
stringList.addAll(集合);
System.out.println(“==s:+stringList”);
但我明白了:

==s:[15,13,14,11,12,08,09,04,05,06,24,07,01,02,03,10]

我希望结果是这样的:

==s:[13,14,11,12,08,09,04,05,06,24,07,02,10]


因为您必须从另一个列表中删除这些项目
HashSet()
用于从同一数组列表中删除重复项。e、 g如果列表包含15次两次和3次两次,则它将在列表中保留一次

这是密码

foreach(String str : stringList){

stringList1.remove(str);
}
拿它来说:

String[]myno1=新字符串[]{“01”、“02”、“03”、“04”、“05”、“06”、“07”,
"08", "09", "10", "11", "12", "13", "14", "15"};
字符串[]myno2=新字符串[]{“01”、“03”、“15”};
//使用LinkedHashSet保留顺序
Set set1=newlinkedhashset(Arrays.asList(myno1));
Set set2=newlinkedhashset(Arrays.asList(myno2));
//查找重复项
Set intersection=new LinkedHashSet();
交叉点。添加所有(set1);
交叉口。保留(set2);
//从两个集合中删除重复项
设置结果=新建LinkedHashSet();
结果:addAll(set1);
结果:addAll(set2);
结果:移除所有(交叉点);
System.out.println(“结果:+Result”);

如果使用Java 8或+,则可以使用:

String[] myno1 = new String[] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15" };
String[] myno = new String[] { "01", "03", "15" };
List<String> stringList = new ArrayList<>(Arrays.asList(myno));
List<String> stringList1 = new ArrayList<>(Arrays.asList(myno1));
stringList.addAll(stringList1);

List<String> newList = stringList.stream()
            .filter(string -> Collections.frequency(stringList, string) == 1)
            .collect(Collectors.toList());
System.out.println("=== s:" + newList);

你能澄清一下你到底想做什么吗?你想创建一个组合了“myno”和“myno1”的列表,使其包含除两个列表中包含的项以外的所有内容(即xor操作)吗?这不是他想要的。我知道了!非常感谢~:)我明白了!非常感谢~:)
Result: [02, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14]
String[] myno1 = new String[] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15" };
String[] myno = new String[] { "01", "03", "15" };
List<String> stringList = new ArrayList<>(Arrays.asList(myno));
List<String> stringList1 = new ArrayList<>(Arrays.asList(myno1));
stringList.addAll(stringList1);

List<String> newList = stringList.stream()
            .filter(string -> Collections.frequency(stringList, string) == 1)
            .collect(Collectors.toList());
System.out.println("=== s:" + newList);
=== s:[02, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14]