컬렉션 인터페이스는 하나의 자료를 모아서 관리하는 데 필요한 기능을 제공한다.
Collection 인터페이스 하위에 LIst 인터페이스, Set 인터페이스가 있다.
List는 순차적인 자료 관리, Set 인터페이스는 중복되지 않는 객체를 다룰 때 사용한다.
자주 사용하는 메서드 | 설명 |
---|---|
boolean add(E e) | Collection에 객체 추가 |
void clear() | Collection의모든 객체 제거 |
Iterator iterator | Collection을 순환할 반복자(iterator) 반환 |
boolean remove(Object o) | Collection에 매개변수에 해당하는 인스턴스가 존재하면 제거 |
int size() | Collection에 있는 요소의 개수 반환 |
while(iter.hasNext()){
System.out.println(iter.next());
}
new MyCollection<>(Arrays.asList("A","AB","ABC","ABCD","ABCDE"))
.map(String::length)
.filter(i -> i%2==1)
.foreach(System.out::println);
주의 !!
primitive(int)에 대한 스트림은 만들 수 없기 때문에 IntStream으로 만들어야 한다 → boxed()
사용하면 Stream 가능
특징
1. 자료의 대상과 관계없이 동일한 연산을 수행한다.
2. 한 번 생성하고 사용한 스트림은 재사용할 수 없다.
3. 스트림의 연산은 기존 자료를 변경하지 않는다.
4. 스트림의 연산은 중간 연산과 최종 연산이 있다.
if (optionalUser.isPresent()) {
/// do 1
}else {
//// do 2
}
if (optionalUser.isEmpty()) {
// do 2
}else {
// do 1
}
optionalUser.ifPresentOrElse(user -> {
// do 1
}, () -> {
// do 2
});
optionalUser.ifPresent(user -> {
// do 1
});