Merhaba Aynı nesnelere sahip 2 tane listelem var. Karşılaştırma için eşitlik kullanamadığım için, müdahale kullanarak birleşme, birleşme, ayrı gibi herhangi bir işlem yapmak istiyorum.java interscect, birleştirme, birleştirme, farklı listelenmiş listeler
Örnek:
class Car{
public String id;
public String color;
public int hashcode(){
//id field is used for hashcode
}
public boolean equals(){
//id field is used for equals
}
}
Şimdi Otomobil iki listeleri vardır. Bu listelerde kopyaları bulmam gerekiyor, ancak sadece renk ile değil.
List<Car> carList1 = new ArrayList(){ new Car(1,blue), new Car(2,green)};
List<Car> carList2 = new ArrayList(){ new Car(1,silver), new Car(4,green)};
Ben carList1 ikinci nesne (yeşil yeni araba (2,)) ben LINQ için kullanacağı C#
Collection.intersect(carList1,carList2,comparator).
benzer
Liste şey bulmalıyız. Yüklemler destekleyen bu denilen Apache Funktör Commons için bir kütüphane mevcuttur
siz "yüklem" ile neyi kastediyoruz çağrı kesiştiği Daha
? Eşit olup olmadığını bulmak için iki nesneyi karşılaştırmak isterseniz, nesneler eşitse 0 döndüren Karşılaştırıcı arabirimini kullanabilirsiniz. Burada: http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html –
Bunun için kitaplık yöntemleri yoktur. Bunu kendi başına yapmalısın. –
Benzer soru: http://stackoverflow.com/questions/5793907/filtering-on-list-based-on-one-property-with-guava – simon