isEmpty()
contatins(Object o)
: return 해당 객체가 존재하면 true,
boolean 타입으로 전달하게 때문에 if문에 사용가능
size()
: 리스트의 크기를 return
add(Object o )
: 리스트에 전달된 객체를 맨 마지막에 추가
add(int index, Object o )
: 리스트에 해당 인덱스에 객체를 추가
remove(int index)
: 인덱스에 해당하는 아이템을 삭제
return 해당 객체
remove(Object o)
: 인자와 동일한 객체를 리스트에서 검색해서 삭제
return 해당 객체를 찾아서 삭제 완료하면 true
replaceAll()
: a.replaceAll(b)하면 a,b의 공통 요소들만 저장 된다고하는데 자세히는 필요할때 찾아보기
addAll(Collection c)
addAll(int index, Collection c)
: 해당 Collection에 있는 모든 아이템들을
맨 마지막에 추가하거나, 해당 인덱스 위치에 추가하거나
ArrayList<String> marvel = new ArrayList<>();
marvel.add("Iron man");
marvel.add("Hulk");
marvel.add("Captain america");
ArrayList<String> movies = new ArrayList<>();
movies.add("Untouchable");
movies.add("Spiderman");
movies.add("Greenbook");
movies.addAll(2, marvel);
contatinsAll(Collection c)
: 해당 컬랙션 전부가 있으면 return true 아니면 falese
retainAll(Collection c)
: removeAll과는 반대로 전달받은 collection만 남김
removeAll은 A.removeAll(B)하면 A에서 B만 제거
retainAll은 A.retainAll(B)하면 A에서 B만 남김
removeAll(Collection c)
: 해당 collections의 아이템들과 일치하는 객체들을 모두 삭제
removelf(Predicate<? super E> filter)
: 인자로 전달된 조건으로 리스트의 아이템들을
삭제조건에 부합하는 것은 삭제되고,
그렇지 않는 것은 리스트에 남게 됩니다
람다식 사용
List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9));
numbers.removeIf(n -> (n % 3 == 0));
clear()
: 모두 null로 초기화하고 size를 0으로
toArray()
: ArrayList 타입의 인스턴스를 일반 배열 타입으로 반환
저장할 배열 타입에 맞춰서 자동 형변환
배열의 크기 또한 자동으로 맞춰서 바꿔줌
Arrays의 asList(arr)를 사용해서 반대의 효과를 얻을 수 있음.
일반 배열 -> List 형태로 반환.
ArrayList<Integer> a = new ArrayList<>(Arrays.asList(arr));
sort()
: Collections의 sort 메소드
Collections.sort(Collections c, operator)
clone()
ArrayList를 얕은 복사함
ArrayList<String> clone = (ArrayList<String>) fruits.clone();
forEach(Consumer<? super E> action)
: 모든 리스트를 순회하는 메소드
람바식을 받아들여서 모든 리스트를 순회하는 메소드같음.
String[] fruitsArray = {"apple", "banana", "kiwi", "mango", "blackberry"};
ArrayList<String> fruits = new ArrayList<>(Arrays.asList(fruitsArray));
Consumer<String> lambda= item -> System.out.println("item : " + item);
fruits.forEach(lambda);
System.out.println("");
fruits.forEach(item -> System.out.println("item : " + item));
값 검색
get(int index)
: 인덱스보다 큰 범위 전달받으면 IndexOutOfBoundsException 전달
return 해당 인덱스의 객체
indexOf(Object o)
: 앞쪽에서부터 검색해서 return
return 찾은 인덱스 or -1
lastindexOf()
: 뒤쪽에서부터 검색해서 return, return 찾은 인덱스 or -1
값 추가, 제거, 변경
sublist(int start, int end+1)
: start ~ end까지 ArrayList를 복사함
List<Integer> newNumbers = numbers.subList(1,3);
하면 [1] ~ [2]까지 새로운 ArrayList 만듬
set(int index, Object o)
: 해당 인덱스의 값을 변경
어쩌고?