본문 바로가기

java45

[Java] 컬렉션 프레임윅 (Stack과 Queue) 스택 : LIFO - 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 큐 : FIFO - 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 ☆ Stack의 메서드 메서드 설명 boolean empty() Stack이 비어있는지 알려준다. Object peek() Stack의 맨 위에 저장된 객체를 반환. pop()과 달리 Stack에서 객체를 꺼내지는 않음 Object pop() Stack의 맨 위에 저장된 객체를 꺼낸다. Object push(Object item) Stack에 객체(item)를 저장한다. int search(Object o) Stack에서 주어진 객체(o)를 찾아서 그 위치를 반환. 못찾으면 -1을 반환 ☆ Queue의 메서드 메서드 설명 boolean add(Object o).. 2022. 7. 21.
[Java] 컬렉션 프레임윅 (LinkedList) 배열 - 장점 : 구조가 간단하며 사용하기 쉽고 데이터를 읽어오는데 걸리는 시간이 가장 빠름 - 단점 1. 크기를 변경할 수 없다. - 크기를 변경할 수 없으므로 새로운 배열을 생성해서 데이터를 복사해야 한다. - 실행속도 향상을 위해 충분히 큰 크기의 배열을 생성해야 하므로 메모리 낭비 발생 2. 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. - 차례대로 데이터를 추가하고 마지막에서부터 데이터를 삭제하는 것은 빠르지만, - 배열의 중간에 데이터를 추가하려면, 빈자리를 만들기 위해 다른 데이터들을 복사해서 이동해야 함. LinkedList : 배열은 모든 데이터가 연속적이지만, 링크드 리스트는 불연속적으로 존재하는 데이터를 서로 연결한 형태 링크드 리스트의 각 요소(node)들은 자신과 연결.. 2022. 7. 21.
[Java] 컬렉션 프레임윅 (컬렉션 프레임웍의 핵심 인터페이스) 컬렉션 프레임웍이란? : 데이터 군을 저장하는 클래스들을 표준화한 설계 : 컬렉션을 데이터 그룹을, 프레임윅은 표준화된 프로그래밍 방식을 의미 컬렉션 프레임웍의 핵심 인터페이스 인터페이스 특징 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용 ex) 대기자 명단 구현클래스 : ArrayList, LinkedList, Stack, Vector 등 Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않음 ex) 양의 정수집합, 소수의 집합 구현클래스 : HashSet, TreeSet 등 Map 키(key)와 값(value)의 쌍(pair)으로 이루어진 데이터 집합 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복허용 ex) 우편번호, 지역번호 구현클래스 : HashM.. 2022. 7. 20.
[Java] 날짜와 시간 (Calendar와 Date) Calendar와 GregorianCalendar - Calendar는 추상클래스이기 때문에 직접 객체 생성 불가, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 함. Calendar cal = new Calendar(); // 에러 추상클래스는 인스턴스 생성 불가 Calendar cal = Calendar.getInstance(); // getInstance() 메서드는 Calendar 클래스를 구현한 클래스의 인스턴스 반환 * getInstance() 메서드가 static인 이유 1. 메서드 내의 코드에서 인스턴스 변수를 사용하거나 인스턴스 메서드를 호출하지 않기 때문 2. static이 아니면 객체를 생성한 다음에 호출해야 하는데 Calender는 추상클래스이기 때문에 객체생성할 수가 없.. 2022. 7. 20.