
CollectionModify::replace 메서드의 첫 번째 인자로 사용하는 oldItem의 조건을 설정하는 방법은 여러 가지가 있습니다.
1. equals() 메서드 사용: oldItem의 equals() 메서드를 오버라이딩하여 특정 조건을 설정할 수 있습니다. 예를 들어, 이름이 같은 항목만 교체하고 싶다면, oldItem의 equals() 메서드를 오버라이딩하여 이름을 비교하는 로직을 구현합니다.
#hostingforum.kr
java
public class Item {
private String name;
public Item(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Item item = (Item) obj;
return name.equals(item.name);
}
}
2. Predicate 사용: oldItem을 찾을 때 Predicate를 사용할 수 있습니다. Predicate는 특정 조건을 만족하는 항목을 찾는 데 사용됩니다.
#hostingforum.kr
java
List list = Arrays.asList(new Item("A"), new Item("B"), new Item("A"));
list.removeIf(item -> item.getName().equals("A"));
3. Stream API 사용: Stream API를 사용하여 oldItem을 찾을 수 있습니다. Stream API는 데이터를 처리하는 데 사용되는 프로그래밍 모델입니다.
#hostingforum.kr
java
List list = Arrays.asList(new Item("A"), new Item("B"), new Item("A"));
list = list.stream()
.filter(item -> !item.getName().equals("A"))
.collect(Collectors.toList());
4. Lambda Expression 사용: Lambda Expression을 사용하여 oldItem을 찾을 수 있습니다. Lambda Expression은 익명 함수를 표현하는 데 사용되는 프로그래밍 모델입니다.
#hostingforum.kr
java
List list = Arrays.asList(new Item("A"), new Item("B"), new Item("A"));
list.removeIf(item -> item.getName().equals("A"));
이러한 방법 중 하나를 선택하여 oldItem을 찾을 수 있습니다.
2025-07-25 04:58