我想从数组列表中删除第一个字符与另一个字符串相同的字符串。
示例
List<String> collection = new ArrayList<String>();
collection.add("1 w a");
collection.add("2 r a");
collection.add("1 r b");
collection.add("2 r b");
collection.add("3 w a");
输出
collection = ["1 w a", "2 r a", "3 w a"]
我尝试使用 hashset
和 linkedhashset
。
最佳答案
使用最少的第一个字符
存储,您可以执行查找和删除重复项:
List<Character> dups = new ArrayList<Character>();
Iterator<String> itr = collection.iterator();
while(itr.hasNext()) {
String s = itr.next();
char c = s.charAt(0);
if(dups.contains(c)) {
itr.remove();
continue;
}
dups.add(c);
}
System.out.println(collection);
输出:
[1 w a, 2 r a, 3 w a]
关于java - 根据字符串的第一个字符从 ArrayList 中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20188776/