java中list集合对象用流去重
时间: 2024-11-09 21:03:52 浏览: 41
在Java中,你可以使用`Stream` API以及`distinct()`函数来对List集合中的元素去重。以下是简单的步骤:
1. 首先,获取到需要操作的List集合,例如:
```java
List<String> list = Arrays.asList("a", "b", "c", "a", "d", "b");
```
2. 使用`stream()`方法将列表转换为Stream:
```java
Stream<String> stream = list.stream();
```
3. 然后应用`distinct()`方法去除重复元素:
```java
List<String> distinctList = stream.distinct().collect(Collectors.toList());
```
4. `distinct()`会返回一个新的Stream,`collect(toList())`则是将这个无重复的Stream收集回一个新的List中。
现在`distinctList`将会包含原始列表中唯一的元素,如`["a", "b", "c", "d"]`。
相关问题
javalist集合中对象按属性去重
可以使用Java8的Stream API,先将List转化为Stream,再使用distinct()方法进行去重,最后将Stream转化为List即可。具体实现可以参考以下代码:
```
List<Object> distinctList = list.stream().distinct().collect(Collectors.toList());
```
其中,需要在对象的类中重写equals()和hashCode()方法,以便正确地比较对象是否相等。
java中list集合对象去重
以下是两种Java中List集合对象去重的方法:
1. 使用双重循环遍历并删除重复元素:
```java
public static List removeDuplicate(List list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
return list;
}
```
2. 使用HashSet去重并保持顺序:
```java
public static void removeDuplicateWithOrder(List list) {
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
System.out.println("remove duplicate " + list);
}
```
阅读全文