본문 바로가기

분류 전체보기152

컬렉션 프레임워크 LinkedList LinkedList는 List 구현 클래스 이므로 ArrayList와 사용 방법은 같지만 내부 구조는 다릅니다. ArrayList는 내부 배열에 객체를 저장해서 인덱스로 관리하지만, LinkedList는 인접 참조를 링크해서 체인처럼 관리합니다. ArrayList는 객체가 제거되면 1씩 앞으로 당겨지지만 LinkedList는 객체를 제거해도 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않습니다. 번번한 객체 삭제와 삽입이 일어나는곳에서는 ArrayList보다 LinkedList가 좋은 성능을 발휘합니다. LinkedList를 생성하기 위해서는 저장할 객체 타입을 타입 파라미터 에 표기하고 기본 생성자를 호출하면 됩니다. 처음에 생성될 때에는 어떠한 링크도 만들어지지 않기 때문에 내부는 비어있습니다. Li.. 2022. 5. 30.
컬렉션 프레임워크 Vector Vector는 ArrayList와 동일한 내부 구조를 가지고 있습니다. Vector를 생성하기 위해서는 저장할 객체 타입을 타입 파라미터로 표기하고 기본 생성자를 호출해줍니다. List list = new Vector(); ArrayList와 다른 점은 Vector는 동기화된 메서드로 구성되어 있기 때문에 멀티 스레드가 동시에 이 메서드들을 실행할 수 없고 하나의 스레드가 실행을 완료해야만 다른 스레드를 실행할 수 있다. Vector를 이용해서 Board 객체를 추가, 삭제 검색하는 예제 public class Board { // 게시물 정보 객체생성 String subject; String content; String writer; public Board (String subject, String co.. 2022. 5. 30.
컬렉션 프레임워크 ArrayList 컬렉션 - 사전적 의미로 요소(객체)를 수집해 저장하는 것 배열의 문제점 - 저장할 수 있는 객체 수가 배열을 생성할 때 결정 -> 불특정 다수의 객체를 저장하기에는 문제 - 객체 삭제했을 때 해당 인덱스가 비게 됨 -> 낱알 빠진 옥수수 같은 배열 -> 객체를 저장하려면 어디가 비어있는지 확인해야 함 ex) 0 1 3 5 7 8 컬렉션 프레임워크 인터페이스 List 컬랙션 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 맨끝에 추가 void add(int index, E element) 주어진 인덱스에 객체를 추가 set(int index, E element) 주어진 인덱스에 저장된 객체로 바꿈 객체 검색 boolean contains(Object o) 주어진 객체가 저장되어 .. 2022. 5. 30.
자바 연습 문제, 예제 자바 프로그래밍 책으로 공부하였습니다. 1. 자바 프로그램을 실행하는 main() 메서드의 선언부에 관한 것으로 올바르지 않은 것은? 이란 문제인데 1.public static void main(String[] args) 2.public static void main(String args[]) 3.public static void main(String[] arg) 4.public static void main(String args) 처음에는 public static void main(String[] args) 이런 형식만 봐서 이해를 못 했는데 나중에 공부 후에 위에 문제의 답을 알게 되었습니다. 프로그램 실행 시 시작점이 되는 main() 메서드의 매개변수는 반드시 배열 형태로 []을 넣어줘야 하는데 .. 2022. 5. 29.