Raghave Shukla :
자바 8 구별 () 중간체 동작 상태 용 문서에서
별개의 요소로 구성되는 스트림 (Object.equals> 상기 (개체))이 반환 스트림. 명령 스트림의 경우, 별개의 구성 요소의 선택, 소자가 처음 나타나는 중복 요소의 안정된 (인
그러나 호출 받고 있지 않습니다
내 항목의 메소드 같음
@Override
public boolean equals(Object obj) {
System.out.println(this.name+"<->"+((Item)obj).name);
return this.name.equals(((Item)obj).name);
}
데이터 클래스의 데이터를 정의
public static List<Item> getItemList(){
itemData.add(new Item("Orange","Citrus Fruit","Orange",30,true,false));
itemData.add(new Item("Apple Green","Universal Fruit","Green",60,false,true));
itemData.add(new Item("Papaya","Wonderful Fruit","Yellow",120,false,true));
itemData.add(new Item("Papaya","Wonderful Fruit","Green",100,false,true));
.
.
.
itemData.add(new Item("Strawberry","Citrus Fruit","Red",25,true,false));
itemData.add(new Item("Sapota","Brown Fruit","Brown",32,false,true));
return itemData;
}
스트림을 사용하여
Data.getItemList().stream().distinct().forEach(System.out::println)
하지만 난 equals 메소드가 호출되지 실현
벤와 :
옆에 equals()
, 당신은 재정의 할 필요가 hashCode()
방법뿐만 아니라. distinct()
방법은 아마 차례로 제대로 구현이 필요 내부적으로 세트를 사용합니다 hashCode()
. 더 많은 정보를 원하시면 .