Java programma, lai noņemtu elementu dublikātus no ArrayList

Šajā piemērā mēs iemācīsimies pārveidot elementa dublikātu no Java ArrayList.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java ArrayList klase
  • Java kopas saskarne

1. piemērs: noņemiet elementu dublikātus no ArrayList, izmantojot Set

 import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // convert the arraylist into a set Set set = new LinkedHashSet(); set.addAll(numbers); // delete al elements of arraylist numbers.clear(); // add element from set to arraylist numbers.addAll(set); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Rezultāts

 ArrayList ar dublikātiem: (1, 2, 3, 4, 1, 3) ArrayList bez dublikātiem: (1, 2, 3, 4)

Iepriekš minētajā piemērā mēs esam izveidojuši masīvu sarakstu ar numuriem. Masīvu sarakstā ir elementu dublikāti.

Lai noņemtu dublikātu elementus no masīvu saraksta, mums tas ir

  • pievienojiet visus elementus no masīvu saraksta, lai iestatītu
  • iztukšojiet masīvu sarakstu, izmantojot clear()metodi
  • pievienojiet visus elementus no kopas masīvu sarakstam

Šeit mēs izmantojām, LinkedHashSetlai izveidotu kopu. Tas ir tāpēc, ka tas noņem elementu dublikātus un uztur ievietošanas kārtību. Lai uzzinātu vairāk, apmeklējiet Java LinkedHashSet.

2. piemērs: noņemiet elementu dublikātus no ArrayList, izmantojot straumi

 import java.util.ArrayList; import java.util.Arrays; import java.util.stream.Collectors; import java.util.stream.Stream; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // create a stream from arraylist Stream stream = numbers.stream(); // call the distinct() of Stream // to remove duplicate elements stream = stream.distinct(); // convert the stream to arraylist numbers = (ArrayList)stream.collect(Collectors.toList()); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Rezultāts

 ArrayList ar dublikātiem: (1, 2, 3, 4, 1, 3) ArrayList bez dublikātiem: (1, 2, 3, 4)

Iepriekš minētajā piemērā mēs esam izveidojuši masīvu sarakstu ar numuriem. Masīvu sarakstā ir elementu dublikāti.

Šeit mēs izmantojām Stream klasi, lai noņemtu elementu dublikātus no masīvu saraksta.

  • numbers.stream () - izveidojiet straumi no masīvu saraksta
  • stream.distinct () - noņem elementu dublikātus
  • stream.collect (Collectors.toList ()) - atgriež sarakstu no straumes

Šeit mēs izmantojām tippecasting, lai atgriezto sarakstu pārveidotu masīvu sarakstā.

Interesanti raksti...