본문 바로가기
JAVA/Java Study

[Java] List에 특정 값이 포함되어 있는지 확인하는 방법

by ♡˖GYURI˖♡ 2024. 5. 20.

1. contains()

List<String> list = new ArrayList<>();

list.add("Hello");
list.add("World");

if (list.contains("Hello") {
	System.out.println("true");
} else { 
	System.out.println("false");
}

if (list.contains("coffee") {
	System.out.println("true");
} else { 
	System.out.println("false");
}

// true
// false

 

 

2. equals()

e.g. Example이라는 클래스에 equals() 메소드를 Override하여 재정의하고 List의 contains() 메소드로 값을 찾기

public class Example {
    int id;    
    String name;     
    
    public Example(int id, String name) {
    	this.id = id;
        this.name = name;    
    }     
    
    @Override    
    public boolean equals(Object object) {
    	Example example = (Example) object;         
        
        // name 상관없이 id가 같으면 true  
        if (example.id == this.id) {
        	return true;        
        }        
        
        return false;    
    }
}
public static void main(String[] args) {
    List<Example> list = new ArrayList<>();
    
    list.add(new Example(1, "ex1"));
    list.add(new Example(2, "ex2"));
    
    System.out.println(list.contains(new Example(2, "ex5")));	// true
    System.out.println(list.contains(new Example(5, "ex5")));	// false
}

 

 

3. indexOf()

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    
    list.add("Hello");
    list.add("World");
    
    int idx1 = list.indexOf("Hello");	// 0
    int idx2 = list.indexOf("coffee");	// -1
}

 

list에 포함되어 있는 값이면 객체가 나타나는 첫번째 인덱스 값 리턴

포함되어 있지 않는 값이라면 -1 리턴

 

 

4. 반복문

  • for each문
  • Iterator 사용

 

5. Stream API

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    
    list.add("Hello");
    list.add("World");
    
    long count = list.stream().filter(str -> "Hello".equals(str)).count();	// 1
}

 

Stream의 filter()에 "Hello"가 list에 존재하는지 판단하는 메소드를 전달하여 조건을 만족하는 값만을 포함하는 stream을 리턴 받고, count() 메소드를 통해 몇 개나 존재하는지 체크 → 0보다 크면 존재하는 것!

 

 

 


 

 

[Java] List에 특정 값이 포함되어 있는지 확인하기

List에 특정 값이 포함되어 있는지 확인하는 방법입니다. contains() indexOf() 반복문 Iterator를 사용한 반복문 Stream API 1. contains() 코드 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public cla

hianna.tistory.com