โพสต์นี้ให้ตัวอย่างวิธีลบรายการซ้ำ (duplicate items) จาก ArrayList ใน Java
ลบ Strings ซ้ำจาก ArrayList
เนื่องจาก Set ไม่สามารถเก็บ duplicate elements ได้ เราสามารถ instantiate Set object โดยส่ง ArrayList ที่มี duplicates เข้าไปเป็น parameter
ตัวอย่าง:
import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.Set; public class RemoveDuplicatesFromArrayList { public static void main(String[] args) { ArrayList pets = new ArrayList<>(); pets.add("cat"); pets.add("dog"); pets.add("cat"); pets.add("hamster"); System.out.println(pets); Set hashSet = new LinkedHashSet(pets); ArrayList removedDuplicates = new ArrayList(hashSet); System.out.println(removedDuplicates); } }
Output:
[cat, dog, cat, hamster] [cat, dog, hamster]
- How to compare two ArrayLists in Java
- How to loop through an ArrayList in Java
- How to convert list to array in Java
ลบ Integers ซ้ำจาก List
เช่นเดียวกัน เราสามารถใช้ methodology เดียวกันลบ duplicate integers
import java.util.*; public class RemoveDuplicatesFromArrayList { public static void main(String[] args) { List numbers = Arrays.asList(1,2,2,2,3,5); System.out.println(numbers); Set hashSet = new LinkedHashSet(numbers); ArrayList removedDuplicates = new ArrayList(hashSet); System.out.println(removedDuplicates); } }
Output:
[1, 2, 2, 2, 3, 5] [1, 2, 3, 5]
ลบ Duplicates จาก List ด้วย Java 8 Lambdas
import java.util.*; import java.util.stream.Collectors; public class RemoveDuplicatesFromArrayList { public static void main(String[] args) { List numbers = Arrays.asList(1,2,2,2,3,5); System.out.println(numbers); List removedDuplicates = numbers.stream() .distinct() .collect(Collectors.toList()); System.out.println(removedDuplicates); } }
Output:
[1, 2, 2, 2, 3, 5] [1, 2, 3, 5]