728x90
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 > Java Study' 카테고리의 다른 글
[Java] 스트림 API (Stream API) (0) | 2024.06.24 |
---|---|
[Java] 람다 표현식(Lambda Expression) (0) | 2024.06.24 |
[Java] 조합 Combination 구현하기! (1) | 2024.04.19 |
[Java] static은 언제, 어떻게 사용해야 할까? (1) | 2024.02.16 |
[Java] 이진 탐색 트리 - 재귀 형태 구현 (0) | 2024.02.05 |