Java18 [JAVA]9. 컬렉션 구조 -1 (List ) + Stack A. 리스트 인터페이스를 상속받는 컬렉션들 1) ArrayList - ArrayList는 요소를 추가하면 차례대로 0번 인덱스 위치부터 요소가 추가되는 형태입니다. - 그래서 순차적인 접근 또는 뒤에서부터 데이터를 추가 삭제할때 효과적입니다. ( ArrayList는 중간에 요소를 추가 또는 삭제할 경우에 인덱스의 위치에 따라서 관리하기 떄문에, 중간에 요소를 추가하게 되면 뒤의 요소들을 한칸씩 미뤄서 복사하는 작업을 하여야 하기때문에 상대적으로 효율적이지 못하다.) 2) LinkedList - LinkedList클래스는 Queue인터페이스와 List인터페이스를 구현한 클래스이다. - List인터페이스의 기능을 이용하는 방식은 ArrayList와 비슷하나 데이터를 저장하는 방식이 다르다. - LinkedL.. 2021. 8. 14. [JAVA]8. 컬렉션 구조 A. 컬렉션이란? - 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. - 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다. 컬렉션의 대표적인 구조는 이렇게 되어있다. 1) List - List인터페이스는 저장되는 요소들의 순서가 유지되며, 중복된 데이터를 허용한다. - 인덱스 번호에 의해서 순서를 정렬한다. 2) Set - Set인터페이스는 중복된 에디터를 허용하지 않으며, 순서가 유지되지 않는다. - 단, TreeSet은 정렬 기능이 추가되기 때문에 순서가 유지된다. 3) Queue - 큐 구조는 한쪽에서 요소를 추가하고 반대 .. 2021. 8. 14. [JAVA]7. 가변인자 / static&인스턴스 메소드 / super & super() / final 예약어 A. 가변인자 (variable argument) - 가변인자가 없던 시절에는 vector나 배열을 사용하여 전달하였다. - 가변인자는 자바의 특징인 매개변수의 다형성을 좀더 편리하게 사용할수 있도록 만들어졌다. (JDK 1.5부터) 1) 가변인자 사용법 void sum(String ... str){ for(String a:str){ sytem.out.println(a); } } //위처럼 매개변수에 ...을 이용하여 여러 매개변수를 받을수 있다. //가변인자를 사용할 경우 자체적으로 배열을 생성해서 매개변수들을 받아올수 있다. *가능하면 가변인자를 사용한 메소드는 오버로딩을 하지 않는것이 좋다!! - 가변인자를 사용할 경우 어떤 메소드를 사용해야하는지 구분하기가 어렵기 때문이다. - 대표적으로 우리가 .. 2021. 8. 13. [JAVA]6. 배열? A. 배열이란? - 배열(Array)은 같은 타입의 변수들로 이루어진 유한 집합이다. - 배열에는 자료형 데이터들을 배열 형태로 저장할수 있습니다. - 배열에서는 index를 이용하여 배열에서의 위치를 알 수 있습니다. B.배열 객체가 생성된 후의 메모리 구조 int[] array = new int[3]; //int(정수)형의 데이터를 담아놓은 3[3]의 길이를 가진 배열을 생성한다. array[0] = 2; array[1] = 3; array[2] = 4; //array[3] = 5; 이 부분은 에러가 나는 코드이다, 배열은 index가 0부터 시작하기 떄문에 //3의 길이인경우 0~2 사이의 인덱스만 가지고있다. 1.위 처럼 배열을 생성 할경우 코드 > 스택 > 힙 순서대로 힙에 배열에서 생성한 3의.. 2021. 8. 13. 이전 1 2 3 4 5 다음 반응형