ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

removeIf()

 
 

메서드

 

 

List에서 요소를 삭제할 때
for문if문 쓰고 ?

 

What ?

removeIf()

💡 List 내 원하는 조건의 요소를 삭제하는 메서드입니다.

 

💡 조건에 맞는 요소가 삭제가 되면  true,  없으면 false 인 Boolean 값을 반환합니다. 

 

💡 자바 8버전 이후부터 사용할 수 있습니다.


How ?

removeIf()

ArrayList.removeIf( predicate <? super E > filter)


Why ?

removeIf()

List&lt;Example&gt; getExampleList  = someClass.getId(id);

for (int i = 0; i &lt; getExampleList.size(); i++){
  if(getExampleList.get(i).getName().equals("condition")){
    getExampleList.remove(i);
    i--;
  }
}

/* 
getExampleList 요소인 name이 "condition"이면 삭제하는 코드입니다.
요소가 삭제되면 List 개수가 감소하므로 "i--"를 합니다.
*/

💡  "i"에 추가 기능이 있는 경우 고려사항이 증가하고 가독성이 떨어집니다.


 

removeIf() 적용 

getExampleList.removeIf((name) ->{
    name.getName().equals("condition")
  }
);

 

💡 코드의 가독성이 높아집니다.


 

활용

💡  리스트 내 요소 여부 확인

// 삭제 조건
boolean isDeleted = exampleList.removeIf(item -> condition == item.getSome());

// 삭제 요소 존재 여부
if (isDeleted) {
    System.out.println("삭제되었습니다.");
} else {
    System.out.println("존재하지 않습니다.");
}

 - removeIf 의 반환값은  Boolean이므로 변수 초기화를 통해 확인할 수 있습니다. 

💡 삭제 여부 확인

// 삭제 전 크기 저장
int initialSize = exampleList.size();
// 삭제 조건
boolean isDeleted = exampleList.removeIf(item -> condition == item.getSome());

// 삭제 후 크기 비교
if (exampleList.size() < initialSize || isDeleted) {
     System.out.println("삭제되었습니다.");
    } else {
     System.out.println("존재하지 않습니다.");
    }
}

List의 초기 사이즈와 비교하고, removeIf 의 반환값을 통해 확인할 수 있습니다.

 


 

728x90