◎ boolean add(Object o) / void add(int index, Objcect element)
지정된 객체를 LinkedList의 끝에 추가, index가 있으면 해당 index에 element 추가
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
System.out.println(list);//[A, B, D, C]
◎ addAll(Collection c) / addAll(int index,Collection c)
주어진 컬렉션에 포함된 모든 요소를 LinkedList의 끝에 추가한다. index가 있을 경우 해당 index에 추가
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
System.out.println(list);//[A, B, D, C]
ArrayList<String> list2 = new ArrayList<>();
list2.add("가");
list2.add("나");
list2.add("다");
list2.add("라");
list2.add("마");
list2.add("바");
list.addAll(2,list2);
System.out.println(list);//[A, B, 가, 나, 다, 라, 마, 바, D, C]
◎ clear
LinkedList의 모든 요소를 삭제
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.clear()
System.out.println(list);//[]
◎ contains(Object o) / containsAll(Collection c)
지정된 객체가 LinkedList에 포함되었는지 알려줌/ 지정된 컬렉션의 모든 요소가 포함되었는지 알려줌
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
System.out.println(list);//[A, B, D, C]
ArrayList<String> list2 = new ArrayList<>();
list2.add("A");
list2.add("B");
list2.add("C");
list2.add("D");
System.out.println(list.containsAll(list2)); // true
System.out.println(list.contains("C"));//true
◎ get(int index)
지정된 index의 객체를 반환
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
System.out.println(list.get(3));//C
◎ indexOf / lastIndexOf
지정된 객체가 저장된 위치를 반환/ 지정된 객체가 저장된 위치를 끝부터 검색해서 반환
없으면 -1 반환
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.add("B");
list.add("A");
list.add("E");
System.out.println(list);//[A, B, D, C, B, A, E]
System.out.println(list.indexOf("B"));//1
System.out.println(list.lastIndexOf("B"));//4
◎ isEmpty
LinkedList가 비어있는지 알려준다.
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.clear()
System.out.println(list.isEmpty());//true
◎ remove(int index) /remove (Object o) / removeAll(Collection c)
지정된 index에 위치한 객체를 제거 / 지정된 객체를 제거 / 지정된 컬렉션의 요소와 일치하는 요스를 모두 제거
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.add("B");
list.add("A");
list.add("E");
System.out.println(list);//[A, B, D, C, B, A, E]
list.remove("A");
System.out.println(list);//[B, D, C, B, A, E]
list.remove(3);
System.out.println(list);//[B, D, C, A, E]
ArrayList<String> list2 = new ArrayList<>();
list2.add("A");
list2.add("B");
list.removeAll(list2);
System.out.println(list);//[D, C, E]
◎ retainAll(Collection c)
지정된 컬렉션의 모든 요소가 포함되어 있는지 확인
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.add("B");
list.add("A");
list.add("E");
ArrayList<String> list2 = new ArrayList<>();
list2.add("A");
list2.add("B");
System.out.println(list.retainAll(list2));//true
list2.add("H");
System.out.println(list.retainAll(list2));//false
◎ set(int index, Object element)
지정된 index의 객체를 주어진 객체로 바꾼다.
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.add("B");
System.out.println(list);//[A, B, D, C, B]
list.set(2,"H");
System.out.println(list);//[A, B, H, C, B]
◎ size
LinkedList에 저장된 객체의 수를 반환
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.add("B");
System.out.println(list.size());//5
◎ toArray
저장된 객체를 배열로 반환
LinkedList <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add(2,"D");
list.add("B");
System.out.println(list);//[A, B, D, C, B]
String[] str = list.toArray(new String[list.size()]);
for (String tmp:str) {
System.out.print(tmp);
}//ABDCB
※ 여기부터는 Queue 인터페이스 구현하면서 추가된 부분
◎ element
LinkedList의 첫 번째 요소를 반환
Queue <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
System.out.println(list.element());//A
◎ offer
지정된 객체를 LinkedList의 끝에 추가. 성공하면 true, 실패하면 false 반환
Queue <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.offer("H");
System.out.println(list);//[A, B, C, B, H]
※ add와 offer 차이
기능적인 차이가 있는 것은 아니나 예외 처리 방식에서 차이가 있다.
예외 발생 | 값 리턴 | |
추가 | add() | offer(){성공 시 true,실패 시 false반환} |
삭제 | remove() | poll(){없을 때 null반환} |
검사 | element() | peek(){비어있을 때 null 반환} |
◎ peek
LinkedList의 첫 번째 요소를 반환
Queue <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
System.out.println(list.peek());//A
◎ poll
LinkedList의 첫 번째 요소를 반환하고, LinkedList에서 제거
Queue <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
System.out.println(list.poll());//A
System.out.println(list);//[B, C, B]
◎ remove()
LinkedList의 첫 번째 요소를 제거
Queue <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.remove();
System.out.println(list);//[B, C, B]
※ 여기부터는 Deque 인터페이스 구현하면서 추가된 부분
◎ addFirst / addLast
LinkedList 맨 앞에 객체를 추가 / LinkedList 맨 끝에 객체를 추가
Deque <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.addFirst("H");
list.addLast("J");
System.out.println(list);//[H, A, B, C, B, J]
◎ getFirst / getLast
LinkedList의 첫 번째 요소를 반환 / LinkedList의 마지막 요소를 반환
Deque <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.addFirst("H");
list.addLast("J");
System.out.println(list.getFirst());//H
System.out.println(list.getLast());//J
◎ offerFirst / offerLast
LinkedList LinkedList 맨 앞에 객체를 추가. 성공하면 true실패하면 false / LinkedList 맨 끝에 객체를 추가. 성공하면 true실패하면 false
Deque <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.offerFirst("H");
list.offerLast("J");
System.out.println(list);//[H, A, B, C, B, J]
◎ peekFirst / peekLast
LinkedList의 첫 번째 요소를 반환 / LinkedList의 마지막 요소를 반환
Deque <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.addFirst("H");
list.addLast("J");
System.out.println(list.peekFirst());//H
System.out.println(list.peekLast());//J
◎ pollFirst / pollLast
LinkedList 에서 첫 번째 요소를 반환하면서 제거 / LinkedList에서 마지막 요소를 반환하면서 제거
Deque <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.pollFirst();
list.pollLast();
System.out.println(list);//[B, C]
◎ removeFirst / removeLast
LinkedList에서 첫 번째 요소를 제거 / LinkedList에서 마지막 요소를 제거
Deque <String> list = new LinkedList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("B");
list.removeFirst();
list.removeLast();
System.out.println(list);//[B, C]
◎ removeFirstOccurrence / removeLastOccurrence
LinkedList에서 첫번째로 일치하는 객체를 제거 / LinkedList에서 마지막으로 일치하는 객체를 제거
Deque <String> list = new LinkedList<>();
list.add("B");
list.add("A");
list.add("B");
list.add("C");
list.add("A");
list.add("B");
list.add("A");
list.add("C");
list.add("A");
list.add("C");
list.add("B");
list.removeFirstOccurrence("A");
list.removeLastOccurrence("C");
System.out.println(list);//[B, B, C, A, B, A, C, A, B]
◎ push
addFirst와 동일
◎ pop
removeFirst와 동일
'개발 지식 기록 > JAVA' 카테고리의 다른 글
[메서드 정리] HashSet (0) | 2023.08.18 |
---|---|
[메서드 정리] HashMap (0) | 2023.08.18 |
[메서드 정리] ArrayList (0) | 2023.08.13 |
[메서드 정리] StringBuffer & StringBuilder (0) | 2023.08.13 |
[자바의 정석] 개인적인 정리글 (2주차) (0) | 2023.08.06 |