Jam's story

25일차 본문

Java

25일차

애플쩀 2022. 3. 24. 15:46
public class Ex01 {
public static void main(String[] args) {
	ArrayList list=new ArrayList(5);
	Random rnd=new Random();
	for (int i = 0; i < 5; i++) {
		list.add(rnd.nextInt(100)+1);
	}
	System.out.println(list);
	Comparator c= new ListDescendingComparator();
	list.sort(c);
	System.out.println(list);
}
}
class ListDescendingComparator implements Comparator<Integer>{
public int compare(Integer o1, Integer o2) {
	return o1.compareTo(o2);
}
}

 

LinkedList 컬렉션 클래스
  • 불연속 구조 
  • 비순차적으로 삭제/ 추가 (성능좋다 ) 

 

 

스택과 큐 

스택: LIFO  한쪽이 막혀있어서 최근에 들어온 것이 나간다. 
큐: FIFO 둘다 뚫려있어서 제일 처음에 들어온 것이 나간다. 

스택의 메소드 

peek()는 pop()과 달리 제거하지 않는다. 
큐의 메소드 

add, offer 둘다 추가하는 것이다.

저장공간이 부족하면
 add- 예외 발생
offer- false 반환 

큐는 인터페이스이기 때문에, new 연산자로 선언안함 

 

PriorityQueue
저장한것에 상관없이 우선권이 높은 것부터 꺼내온다.
숫자인 경우에는 오름차순 정렬해서 가져온다. 
Queue<Integer> q=new PriorityQueue<Integer>();
	q.offer(3);
	q.offer(5);
	q.offer(2);
	q.offer(1);
	q.offer(4);
	
	System.out.println(q);
	
	while(!q.isEmpty()) {
		int n=q.poll();
		System.out.println(n);
	}

1 2 3 4 5  순서로 출력되었으며, 문자열이면 ㄱ~ㅎ 순으로. ㄱ이 우선권이 제일 높다. 

 

 

 

deque - double ended Queue 


양쪽 끝에서 추가/추출이 가능하다. 
deque 구현한 클래스 : LinkedList , Array 

인터페이스 -컬렉션의 요소에 접근 (가져오기) 

Iterator (신 - 반복자), ListIterator , Enumeration(구 -열거자 )
ListIterator =Iterator+향상된 기능  

HashSet

중복X , 순서유지X 
<> 에 기본형 x, 참조형o
.get(int index) 메소드는 쓰이지 않는다. - >순서가 없기 때문에 

'Java' 카테고리의 다른 글

[컬렉션 프레임워크] - 스택 , 큐  (0) 2022.03.25
[컬렉션 프레임워크] -ArrayList  (0) 2022.03.24
24일차- 제네릭 프레임워크  (0) 2022.03.23
23일차- 날짜와 시간, 형식화  (0) 2022.03.22
22일차  (0) 2022.03.21
Comments