列表从Java中的ArrayList获取唯一值 2 周,1 日 Questions & Answers 271392 我有一个ArrayList有许多记录,其中一列包含CO2 CH4 SO2等气体名称。现在我只想检索不同的气体名称(唯一),而不需要重复ArrayList。怎么做呢
# 1 楼答案 我希望我正确地理解了您的问题:假设值是String类型,最有效的方法可能是转换为HashSet并对其进行迭代: ArrayList<String> values = ... //Your values HashSet<String> uniqueValues = new HashSet<>(values); for (String value : uniqueValues) { ... //Do something }
# 2 楼答案 你应该使用^{}。ASet是不包含重复项的Collection 如果有一个^{}包含重复项,则可以获得如下唯一项: List<String> gasList = // create list with duplicates... Set<String> uniqueGas = new HashSet<String>(gasList); System.out.println("Unique gas count: " + uniqueGas.size()); 注意:这个HashSet构造函数通过调用元素“equals()方法来识别重复项
# 3 楼答案 你可以用它来制作一个独特的列表 ArrayList<String> listWithDuplicateValues = new ArrayList<>(); list.add("first"); list.add("first"); list.add("second"); ArrayList uniqueList = (ArrayList) listWithDuplicateValues.stream().distinct().collect(Collectors.toList());
# 1 楼答案
我希望我正确地理解了您的问题:假设值是
String
类型,最有效的方法可能是转换为HashSet
并对其进行迭代:# 2 楼答案
你应该使用^{} 。A
Set
是不包含重复项的Collection如果有一个^{} 包含重复项,则可以获得如下唯一项:
注意:这个
HashSet
构造函数通过调用元素“equals()方法来识别重复项# 3 楼答案
你可以用它来制作一个独特的列表