728x90
Array
//초기 크기 설정 후, for문으로 값 넣기
int[] array = new int[5];
for (int i = 0; i < array.length; i++){
array[i] = i+1;
}
//그냥 처음부터 값 넣기
int[] second_array = new int[]{1,2,3,4,5};
ArrayList
//타입 설정을 하지 않으면 Object로 선언
ArrayList arrayList = new ArrayList();
//int타입만 사용 가능
ArrayList<Integer> int_arrayList = new ArrayList<>();
//초기 크기 설정
ArrayList<Integer> capacity_arraylist = new ArrayList<>(10);
//생성 시 값 추가
ArrayList<Integer> integerArrayList = new ArrayList<>(Arrays.asList(1,2,3));
//값 추가
int_arrayList.add(100);
//특정 인덱스에 값 추가
int_arrayList.add(1, 100);
//값 삭제 (index 기반으로 삭제됨)
int_arrayList.remove(1);
//값 모두 삭제
int_arrayList.clear();
//1번 index의 값 출력
int_arrayList.get(1);
//for문을 이용한 전체 출력
for (int i : int_arrayList){
System.out.println(i);
}
//iterator을 이용한 전체 출력
Iterator iterator = int_arrayList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
//값 검색
int_arrayList.contains(1);
int_arrayList.indexOf(1);
LinkedList
LinkedList<Integer> list = new LinkedList<>();//new에서 타입 파라미터 생략가능
LinkedList<Integer> linkedList2 = new LinkedList<Integer>(Arrays.asList(1,2));//생성시 값추가
list.addFirst(1); //가장 앞에 데이터 추가
list.addLast(2); //가장 뒤에 데이터 추가
list.add(3); //데이터 추가
list.add(1, 10); //index 1에 데이터 10 추가
list.removeFirst(); //가장 앞의 데이터 제거
list.removeLast(); //가장 뒤의 데이터 제거
list.remove(); //생략시 0번째 index제거
list.remove(1); //index 1 제거
list.clear(); //모든 값 제거
System.out.println(list.get(1)); //1번째 index 출력
System.out.println(list.contains(1)); //list에 1이 있는지 검색 : true
System.out.println(list.indexOf(1)); //1이 있는 index반환 없으면 -1
Stack
Stack<Integer> stack = new Stack<>(); // stack 사용할래요!
stack.push(1); // stack에 값 1 추가
stack.push(2); // stack에 값 2 추가
stack.push(3); // stack에 값 3 추가
stack.pop(); // stack에 값 제거
stack.clear(); // stack의 전체 값 제거 (초기화)
stack.peek(); // stack의 가장 상단의 값 출력
stack.size(); // stack의 크기 출력 : 3
stack.empty(); // stack이 비어있는제 check (비어있다면 true)
stack.contains(1) // stack에 1이 있는지 check (있다면 true)
Queue
Queue<Integer> queue = new LinkedList<>(); //큐 사용할래요!!!
queue.add(1); // queue에 값 1 추가
queue.add(2); // queue에 값 2 추가
queue.offer(3); // queue에 값 3 추가
queue.poll(); // queue에 첫번째 값을 반환하고 제거 비어있다면 null
queue.remove(); // queue에 첫번째 값 제거
queue.clear(); // queue 초기화
queue.peek(); // queue의 첫번째 값 참조
PriorityQueue
//int형 priorityQueue 선언 (우선순위가 낮은 숫자 순)
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();
//int형 priorityQueue 선언 (우선순위가 높은 숫자 순)
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(Collections.reverseOrder());
priorityQueue.offer(2); // priorityQueue에 값 2 추가
priorityQueue.offer(1); // priorityQueue에 값 1 추가
priorityQueue.offer(3); // priorityQueue에 값 3 추가
priorityQueue.peek(); // priorityQueue에 첫번째 값 참조 = 1
priorityQueue.poll(); // priorityQueue에 첫번째 값을 반환하고 제거 비어있다면 null
priorityQueue.remove(); // priorityQueue에 첫번째 값 제거
priorityQueue.clear(); // priorityQueue에 초기화
728x90
'Computer Science > 자료구조' 카테고리의 다른 글
[자료구조] Graph (0) | 2022.01.31 |
---|---|
[자료구조] 힙 (0) | 2021.12.01 |
[자료구조] Graph (0) | 2021.10.27 |
[자료구조] Undirected Graph - 2차원 배열 (0) | 2021.10.27 |
[자료구조] Linked List (0) | 2021.10.26 |
댓글