Back-End/Java56 [JAVA] 컬렉션 프레임워크(Collection Framework) - Map * Map 계열의 컬렉션 프레임워크의 특징 - key와 value를 한쌍으로 해서 데이터를 저장하고, 검색하는 기능을 제공함. - key는 중복 불가, value는 중복 가능. - Map 인터페이스의 자식클래스로 구현 ==> HashMap(O), HashTable(O), Properties(가끔), TreeMap(거의X) 2021. 9. 17. [JAVA] 컬렉션 프레임워크(Collection Framework) - Set * Set 계열의 컬렉션 프레임워크 특징 - 자료의 순서가 없다(정렬 기능 없음. - index가 없다). - 중복 데이터 허용 불가. - Set 인터페이스의 자식클래스를 이용하여 구현. ==> HashSet(0), TreeSet (X) 2021. 9. 17. [JAVA] 컬렉션 프레임워크(Collection Framework) - Stack, Queue * Stack 클래스(자료 구조) 후입선출(LIFO : Last In First Out) 구조 => 제일 나중에 들어온 데이터가 호출 시 제일 먼저 빠져나감 선언은 아래와 같이 할 수 있다. Stack stack = new Stack(); // Element에는 Integer과 String이 올 수 있다. Stack stack = new Stack(); //int형 스택 선언 Stack stack = new Stack(); //char형 스택 선언 push(데이터) stack에 저장시키는 메소드 데이터가 위로 쌓이듯이 저장된다. peek() stack에 저장된 데이터를 가져오는 메소드 => stack의 맨 위(마지막)에 입력된 데이터를 가져오는 메소드 가져온 후, 데이터를 stack에서 제거하지 않음 즉.. 2021. 9. 17. [Java] 컬렉션 프레임워크_LinkedList LinkedList 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. Node는 LinkedList에 객체를 추가하거나 삭제하면 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. 중간에 데이터를 추가나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지는 일이 없기에 ArrayList에 비해서 데이터의 추가나 삭제가 용이하나, 인덱스가 없기에 특정 요소에 접근하기 위해서는 순차 탐색이 필요로 하여 탐색 속도가 떨어진다는 단점이 있습니다. 그러므로 탐색 또는 정렬을 자주 하는 경우엔 배열을 사용하고 데이터의 추가/삭제가 많은 경우 .. 2021. 9. 17. [JAVA] 컬렉션 프레임워크 개념과 ArrayList 컬렉션 프레임워크 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미 배열을 사용하다 보면 여러가지 비효율적인 문제가 생긴다. 가장 큰 문제점은 크기가 고정적이라는 것이다. 배열의 크기는 생성할 때 결정되며, 그 크기를 넘어가게 되면 더이상 데이터를 저장할 수 없다. 또 데이터를 삭제하면 해당 인덱스의 데이터는 비어있어 메모리가 낭비되는 등 여러 문제점들이 발생한다. 그렇기에 자바는 배열의 이러한 문제점을 해결하기 위해, 널리 알려져 있는 자료구조를 바탕으로 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)할 수 있는 자료구조들을 만들어 놓았다. 이러한 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 한다. (대표적으로는 List, Set, Ma.. 2021. 9. 17. [Java] 제네릭(Generic) (지네릭스) 제너릭(generic) https://www.youtube.com/watch?v=DBnqmTSHEOA - 특정한 클래스에 원하는 객체 타입을 지정하여 지정된 객체만 접근하게 하는 자바 문법. - 다양한 타입의 객체들을 다루는 메서드나 컬렉션에서 컴파일할 때 컴파일러가 타입을 확인해 주는 기능 ==> 다루어질 객체의 타입을 미리 명시함으로써 번거로운 형변환을 줄여 준다는 장점이 있음. 또한, 객체의 타입을 컴파일 시에 체크하여 주기 때문에 객체의 타입 안정성을 높여주는 장점이 있음 - 타입의 안정성을 높여준다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여 준다는 것임 제네릭스의 장점 1. 타입 안정.. 2021. 9. 17. 이전 1 2 3 4 5 ··· 10 다음