On olemassa seuraavia tapoja verrata kahta ArrayListiä Javassa:
- Java on yhtä suuri () menetelmä
- Java Poista kaikki() menetelmä
- Java säilyttää kaikki() menetelmä
- Java ArrayList.contains() menetelmä
- Java contentEquals() menetelmä
- Java Striimaa käyttöliittymä
Java equals() -metodi
Java on yhtä suuri () menetelmä Lista käyttöliittymä vertaa määritettyä objektia tasa-arvoluetteloon. Se ohittaa on yhtä suuri () menetelmä Esine luokkaa.
Syntaksi
ketjuta java-merkkijono
boolean equals(Object o)
Tämä menetelmä hyväksyy an esine verrata tasa-arvoisesti luetteloon. Se palaa totta jos määritetty objekti on yhtä suuri kuin luettelo, else palauttaa väärä .
Esimerkki
Seuraavassa esimerkissä olemme luoneet kaksi ArrayList-luetteloa ensimmäinen lista ja toinen lista . Molempien luetteloiden vertailu käyttämällä on yhtä suuri () menetelmällä, se palauttaa tosi. Olemme lisänneet toisen elementin toinen lista luodaksesi eron firstListin ja secondListin välille. Jos nyt suoritamme vertailun, se palaa väärä .
import java.util.*; public class ComapreArraylistExample1 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(); //adds elements to the arraylist firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Mango'); System.out.println(firstList); //second array list List secondList=new ArrayList(); //adds elements to the arraylist secondList.add('Apple'); secondList.add('Pears'); secondList.add('Guava'); secondList.add('Mango'); System.out.println(secondList); //comparing both lists boolean boolval = firstList.equals(secondList); //returns true because lists are equal System.out.println(boolval); //adding another element in the second list secondList.add('Papaya'); //again comparing both lists boolean bool = firstList.equals(secondList); //returns false because lists are not equal System.out.println(bool); } }
Lähtö
[Apple, Pears, Guava, Mango] [Apple, Pears, Guava, Mango] true false
Java removeAll() -menetelmä (puuttuvan elementin löytäminen)
Java Poista kaikki() menetelmä ArrayList luokkaa käytetään poistamaan luettelosta kaikki elementit, jotka sisältyvät määritettyyn kokoelmaan. Se ohittaa Poista kaikki() menetelmä AbstractCollection luokkaa.
Syntaksi
public boolean removeAll(Collection c)
Tämä menetelmä hyväksyy Kokoelma parametrina, joka sisältää tästä luettelosta poistettavia elementtejä. Se palaa totta jos tämä luettelo muuttuu puhelun seurauksena.
Esimerkki
Seuraavassa esimerkissä olemme luoneet kaksi ArrayList-luetteloa ensimmäinen lista ja toinen lista . The Poista kaikki() menetelmä poistaa kaikki firstListin elementit, koska samat elementit ovat myös secondListissä paitsi Papaija . Niin, Papaija on puuttuva elementti ensimmäinen lista . Siksi se palaa Papaija . Metodi palauttaa an tyhjä lista [] jos molemmissa luetteloissa on samat elementit.
import java.util.*; public class ComapreArraylistExample2 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(); //adds elements to the array list firstList.add('Apple'); firstList.add('Pears'); firstList.add('Guava'); firstList.add('Peach'); //second array list ArrayList secondList=new ArrayList(); //adds elements to the array list secondList.add('Apple'); secondList.add('Pears'); secondList.add('Papaya'); secondList.add('Peach'); //removes all elements from the first list //returns empty list if all the elements of first list match with elements of second list secondList.removeAll(firstList); //prints the element of second list which does not match with the element of the first list System.out.println(secondList); } }
Lähtö
[Papaya]
Katsotaanpa toinen esimerkki removeAll()-menetelmästä, joka palauttaa elementit firstLististä, joita ei ole, on secondList.
Esimerkki
import java.util.*; public class ComapreArraylistExample3 { public static void main(String args[]) { //first array list ArrayList firstList=new ArrayList(Arrays.asList(12, 4, 67, 90, 34)); System.out.println('First array list: '); System.out.println(firstList); //second array list List secondList=new ArrayList(Arrays.asList(12, 4, 67, 0, 34)); System.out.println('Second array list: '); System.out.println(secondList); //returns the common elements in both list firstList.removeAll(secondList); System.out.println('Un-common element of the first list: '); System.out.println(firstList); } }
Lähtö
First array list: [12, 4, 67, 90, 34] Second array list: [12, 4, 67, 0, 34] Un-common element of the first list: [90]
Java retainAll() -menetelmä (palauttaa yhteiset elementit molemmissa listoissa)
Java säilyttää kaikki() menetelmä ArrayList luokka säilyttää vain ne listan elementit, jotka sisältyvät myös muihin luetteloihin. Se ohittaa säilyttää kaikki() menetelmä AbstartCollection luokkaa.
esimerkki binaarihakupuusta
Syntaksi
public boolean retainAll(Collection c)
Tämä menetelmä hyväksyy a Kokoelma parametrina, joka sisältää luettelossa säilytettäviä elementtejä. Se palaa totta jos tämä luettelo muuttuu puhelun seurauksena.
Esimerkki
Tässä esimerkissä olemme luoneet kaksi ArrayList-luetteloa ensimmäinen lista ja toinen lista käyttämällä asList() menetelmä Taulukot luokkaa. Metodi asList() palauttaa luettelonäkymän määritetystä taulukosta.
import java.util.*; public class ComapreArraylistExample4 { public static void main(String args[]) { //first arraylist ArrayList firstList=new ArrayList(Arrays.asList('M', 'W', 'J', 'K', 'T')); System.out.println('First arraylist: '); System.out.println(firstList); //second arraylist List secondList=new ArrayList(Arrays.asList('M', 'W', 'E', 'K', 'T')); System.out.println('Second arraylist: '); System.out.println(secondList); //returns the common elements in both list secondList.retainAll(firstList); System.out.println('Common elements in both list: '); System.out.println(secondList); } }
Lähtö
First arraylist: [M, W, J, K, T] Second arraylist: [M, W, E, K, T] Common elements in both list: [M, W, K, T]
Java ArrayList.contains() -menetelmä
Java ArrayList.contains() menetelmää käytetään kahden eri ArrayListin elementin vertailuun. Java ArrayList.contains() menetelmä ohittaa sisältää() menetelmä AbstrarctCollection luokkaa.
Syntaksi
public boolean contains(Object o)
Tämä menetelmä jäsentää elementin, jonka läsnäolo luettelossa on tarkistettava. Se palaa totta jos elementti täsmää, muuten palauttaa väärä .
Esimerkki
Tässä esimerkissä olemme luoneet kaksi ArrayList-luetteloa ensimmäinen lista ja toinen lista / merkkijono tyyppi. Olemme vertailleet näitä ArrayListiä käyttämällä sisältää() menetelmä. Jos firstListin elementit täsmäävät secondListin elementtien kanssa, se palaa Joo ja tallentaa tämän arvon kolmas lista . Vastaavasti, jos elementti ei täsmää, se palaa Ei .
import java.util.ArrayList; import java.util.Arrays; public class ComapreArraylistExample5 { public static void main(String [] args) { //first arraylist ArrayList firstList= new ArrayList(Arrays.asList('Good', 'Morning', 'Students')); //second arraylist ArrayList secondList= new ArrayList(Arrays.asList('Good', 'Night', 'frineds')); //storing the comparison output in thirdList ArrayList thirdList= new ArrayList(); //iterator using for-each loop for(String tempList : firstList) //tempList is a variable thirdList.add(secondList.contains(tempList) ? 'Yes' : 'No'); System.out.println(thirdList); } }
Lähtö
[Yes, No, No]
Java contentEquals() -menetelmä
Java contentEquals() menetelmä vertaa merkkijono kanssa StringBuffer ja palauttaa a boolean arvo. Se kuuluu merkkijono luokkaa.
Syntaksi
public boolean contentEquals(StringBuffer sb)
Tämä menetelmä hyväksyy StringBufferin parametriksi, jota voidaan verrata merkkijonoon. Se palaa totta jos merkkijono edustaa samaa merkkijonoa kuin määritetty StringBuffer, muuten palauttaa väärä .
Esimerkki
Tässä esimerkissä olemme luoneet kaksi ArrayList-luetteloa ensimmäinen lista ja toinen lista / merkkijono tyyppi. Olemme luoneet staattisen menetelmän vertaaLista() joka jäsentää kaksi ArrayListiä ls1 ja ls2 argumenttina ja palauttaa a boolean arvo. Menetelmä muuntaa luettelon muotoon merkkijono . The contentEquals() menetelmä vertaa merkkijonoa määritettyyn StringBufferiin.
Olemme lisänneet toisen elementin toiseen luetteloon luodaksemme eron molempien luetteloiden välille ja kutsuaksesi uudelleen vertaaLista() menetelmä, joka palauttaa väärä .
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ComapreArraylistExample6 { //defining method public static boolean compareList(ArrayList ls1, ArrayList ls2) { //converts List into String and checks string are equal or not return ls1.toString().contentEquals(ls2.toString())?true:false; } public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('When Lists are same: '+compareList(firstList, secondList)); //adding another element to the secondList secondList.add('C++'); //output after adding different element System.out.println('When Lists are not same: '+compareList(firstList, secondList)); } }
Lähtö
When Lists are same: true When Lists are not same: false
Java Stream -käyttöliittymä
Java Striimaa on käyttöliittymä. Se kuuluu java.util paketti. Se tarjoaa a suodattaa() menetelmä stream-elementtien suodattamiseksi annettujen elementtien perusteella. Se on keskitason käsitellä asiaa.
Syntaksi
Stream filter(Predicate predicate)
Tämä menetelmä hyväksyy Predikaatti (toiminnallinen käyttöliittymä) argumenttina ja palauttaa uuden tuloksena olevien elementtien virran.
kuinka monta kaupunkia on Yhdysvalloissa
collection() -menetelmä
Toinen seuraavassa esimerkissä käytetty menetelmä on kerätä() menetelmä Striimaa käyttöliittymä.
Se suorittaa muunnettavan vähennystoiminnon tämän virran elementeille käyttämällä Collectoria. Keräilijä kapseloi funktiot, joita käytetään argumentteina keräämiseen (Supplier, BiConsumer, BiConsumer). Se sallii uudelleenkäyttöä keräysstrategioista ja keräystoimintojen koostumuksesta. Se on a terminaali operaatio.
Syntaksi
R collect(Collector collector)
Collectors.toList() -menetelmä
The listata() on staattinen menetelmä Keräilijät luokkaa. Se kuuluu java.util.Stream.Collectors luokkaa.
Syntaksi
public static Collector<t, ?, list> toList() </t,>
Missä T on elementtien tyyppi. Se palauttaa a Keräilijä joka kerää kaikki syöteelementit Listiksi kohtaamisjärjestyksessä (järjestämättömässä järjestyksessä).
Esimerkki
Seuraavassa esimerkissä olemme luoneet kaksi ArrayList-luetteloa ensimmäinen lista ja toinen lista merkkijonotyyppistä. The suodattaa() menetelmä palauttaa luettelon yhteisistä elementeistä, jotka ovat molemmissa listoissa.
import java.util.*; public class CompareArrayListExample7 { public static void main(String[] args) { ArrayList firstList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go')); System.out.println('First List: '+firstList); ArrayList secondList = new ArrayList(Arrays.asList('Java', 'Python', 'Ruby', 'Go', 'Perl')); System.out.println('Second List: '+secondList); // Finds common elements System.out.print('Common elements: ' +firstList.stream().filter(secondList::contains).collect(Collectors.toList())); } }
Lähtö
First List: [Java, Python, Ruby, Go] Second List: [Java, Python, Ruby, Go, Perl] Common elements: [Java, Python, Ruby, Go]