需求 : ArrayList有以下元素: "a","f","b","c","a","d" 对ArrayList集合去重 * 不允许使用 Set 集合 (因为是明天学的东西)
时间: 2023-09-05 15:08:41 浏览: 32
可以使用另一个ArrayList来存储去重后的元素,然后遍历原始ArrayList,将未出现过的元素添加到新的ArrayList中。
代码示例:
```
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("f");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
ArrayList<String> newList = new ArrayList<>();
for (String element : list) {
if (!newList.contains(element)) {
newList.add(element);
}
}
System.out.println(newList);
```
输出结果为:[a, f, b, c, d]
相关问题
javaArrayList集合中去掉重复的元素
在 Java 中,可以使用 `java.util.ArrayList` 来存储一组元素。如果需要去掉 ArrayList 中的重复元素,可以使用 HashSet 来达到这个目的。
具体实现步骤如下:
1. 创建一个 HashSet 对象,用来存储不重复的元素。
2. 遍历 ArrayList 中的每个元素,将其添加到 HashSet 中。
3. 将 HashSet 中的元素转换成 ArrayList。
示例代码如下:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class RemoveDuplicateElements {
public static void main(String[] args) {
ArrayList<Integer> listWithDuplicates = new ArrayList<Integer>();
listWithDuplicates.add(1);
listWithDuplicates.add(2);
listWithDuplicates.add(3);
listWithDuplicates.add(2);
listWithDuplicates.add(4);
listWithDuplicates.add(1);
HashSet<Integer> set = new HashSet<Integer>(listWithDuplicates);
ArrayList<Integer> listWithoutDuplicates = new ArrayList<Integer>(set);
System.out.println("ArrayList with duplicates: " + listWithDuplicates);
System.out.println("ArrayList without duplicates: " + listWithoutDuplicates);
}
}
```
输出结果为:
```
ArrayList with duplicates: [1, 2, 3, 2, 4, 1]
ArrayList without duplicates: [1, 2, 3, 4]
```
在上面的代码中,我们首先创建了一个包含重复元素的 ArrayList 对象 `listWithDuplicates`。然后,我们创建了一个 HashSet 对象 `set`,并将 `listWithDuplicates` 中的元素添加到 `set` 中。由于 HashSet 不允许重复元素,因此 `set` 中不会包含重复的元素。接下来,我们将 `set` 中的元素转换成 ArrayList,从而实现了去重操作。最后,我们输出了去重前后的 ArrayList。
list对集合类去重
以下是两种对List集合类进行去重的方法:
1. 使用HashSet去重:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
list.add("orange");
Set<String> set = new HashSet<>(list);
List<String> newList = new ArrayList<>(set);
System.out.println("去重后的集合: " + newList);
```
2. 使用Java 8的Stream流进行去重:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
list.add("orange");
List<String> newList = list.stream().distinct().collect(Collectors.toList());
System.out.println("去重后的集合: " + newList);
```