java对list实现去重
时间: 2023-11-22 20:47:57 浏览: 35
Java中对List实现去重有多种方法,以下是其中两种常用的方法:
1.使用Set去重
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("apple");
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出:[apple, banana, orange]
```
2.使用Java8的Stream去重
```java
List<String> list = new ArrayList<>();
list.add("apple");list.add("banana");
list.add("orange");
list.add("apple");
List<String> result = list.stream().distinct().collect(Collectors.toList());
System.out.println(result); // 输出:[apple, banana, orange]
```
相关问题
java中对list去重
在Java中,可以使用多种方法对List进行去重。其中一种方法是使用Set集合来实现去重,因为Set集合中的元素是不可重复的。可以将List集合转换为Set集合,然后再将Set集合转换回List集合。这样就可以实现List的去重操作。
另一种方法是通过遍历List集合,使用一个新的List集合来存储不重复的元素。遍历原始的List集合,如果新的List集合中不包含当前元素,则将其添加到新的List集合中。最后,新的List集合中就存储了去重后的元素。
以下是使用Set集合和遍历List集合两种方法的示例代码:
方法一:使用Set集合实现去重
```java
List<Integer> list = Arrays.asList(7, 7, 8, 8, 8, 11, 11, 9);
Set<Integer> set = new LinkedHashSet<>(list);
List<Integer> newList = new ArrayList<>(set);
System.out.println(newList);
```
方法二:通过遍历List集合实现去重
```java
List<Integer> list = Arrays.asList(7, 7, 8, 8, 8, 11, 11, 9);
List<Integer> newList = new ArrayList<>();
for (Integer num : list) {
if (!newList.contains(num)) {
newList.add(num);
}
}
System.out.println(newList);
```
java实现list去重
有两种常见的方式可以实现Java中List的去重操作。
第一种方式是使用双重for循环。代码如下所示:
```
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
for (int i = 0; i < list.size(); i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
list.remove(j);
j--;
}
}
}
System.out.println(list);
}
```
第二种方式是使用Java 8的Stream API。代码如下所示:
```
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
List<Integer> listWithoutDuplicates = list.stream().distinct().collect(Collectors.toList());
System.out.println(listWithoutDuplicates);
}
```