Java 목록에서 효율적으로 필드 동일성 확인
목록에 특정 필드 값과 일치하는 객체가 포함되어 있는지 확인해야 하는 시나리오를 생각해 보세요. . 루프를 사용하여 목록을 반복하는 것은 옵션이지만 중첩 루프 내에서는 비효율적일 수 있습니다. 이를 극복하기 위해 Java는 스트림을 활용하는 대체 접근 방식을 제공합니다.
스트림: 간결하고 효율적인 솔루션
Java 8에서 스트림은 데이터 조작 및 필터링. 특정 시나리오의 경우 다음과 같이 스트림을 활용할 수 있습니다.
<code class="java">public boolean containsName(final List<MyObject> list, final String name) { return list.stream().filter(o -> o.getName().equals(name)).findFirst().isPresent(); }</code>
이 코드 조각은 "이름" 필드가 제공된 값과 일치하는 개체 목록을 필터링하고 그러한 개체가 존재하는 경우 true를 반환합니다.
추가 스트림 방법
스트림은 다양한 사용 사례에 맞는 다양한 방법을 제공합니다. 일치하는 각 개체에 대해 작업을 수행하려면 forEach() 메서드를 사용할 수 있습니다.
<code class="java">public void perform(final List<MyObject> list, final String name) { list.stream().filter(o -> o.getName().equals(name)).forEach( o -> { // Perform operation on matching object } ); }</code>
또는 anyMatch() 메서드를 사용하여 목록의 개체가 다음을 충족하는지 확인할 수 있습니다. 기준:
<code class="java">public boolean containsName(final List<MyObject> list, final String name) { return list.stream().anyMatch(o -> name.equals(o.getName())); }</code>
이러한 스트림 기반 접근 방식은 코드 가독성을 향상시킬 뿐만 아니라 특히 중첩 루프 내에서 반복 루프에 비해 효율적인 성능을 제공합니다.
위 내용은 스트림을 사용하여 Java 목록의 필드 동일성을 효율적으로 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!