Vector란?- 벡터 클래스는 예전의 자바에서 제공했던 레거시 클래스입니다.- 레거시 클래스란 Collections 프레임워크가 포함되어 있지 않던 초기 자바 버전에서 정의한 인터페이스입니다.- 현재는 재구성 및 설계되어서 현재의 Collections 프레임워크와 완벽하게 호환됩니다. ☞ Vector의 특징- 필요에 따라 크기를 동적으로 조절할 수 있는 동적배열을 구현합니다.- 배열과 마찬가지로 정수 인덱스를 이용하여 배열에 액세스 할 수 있습니다.- 동기화(Thread Safe) 되어있으며 한번에 하나의 스레드만 벡터의 메소드를 호출 할 수 있습니다. ArrayList란?- Collections 프레임워크의 일부이며 java.uitl 패키지 내에 존재합니다.- 벡터와 마찬가지로 동적 배열을 사용하기 ..
객체 정렬 예시 ㆍ객체를 사용자가 정의한 정렬 기준에 맞춰 정렬해야 하는 경우 Ex) 좌표를 x좌표가 증가하는 순, x좌표가 같으면 y좌표가 감소하는 순으로 정렬 Ex) 국어점수는 증가하는 순, 수학점수는 감소하는 순으로 정렬 객체의 정렬의 기준 방법 1.Comparable ㆍ정렬 수행 시 기본적으로 적용되는 정렬 기준이 되는 메서드를 정의하는 인터페이스 ㆍpackage: java.lang.Comparable ㆍJava에서 제공되는 정렬이 가능한 클래스들은 모두 Comparable 인터페이스를 구현하고 있으며, 정렬 시에 이에 맞게 정렬이 수행된다. 구현 방법 ㆍ정렬할 객체에 Comparable interface를 implements 후, compareTo() 메서드를 오버라이드하여 구현한다. compa..
HashSet() HashSet : "중복해서 저장하지 않는" 집합으로 사용할 수 있는 클래스. 집합으로 생각하자 ! HashSet 객체명 = new HashSet(); HashSet 객체에는 "String" 타입의 객체만 저장할 수 있다. 이미 있는 데이터를 저장하면 집합에 변동이 일어나지 않는다.(중복 저장 안함) import java.util.HashSet; import java.util.Iterator; public class HashSetExample { public static void main(String[] args) { // TODO Auto-generated method stub HashSet set = new HashSet(); set.add("자바"); set.add("카푸치노");..
Iterator 인터페이스를 사용할 수 없는 컬렉션인 Map에서 Iterator 인터페이스를 사용하기 위해서는 Map에 entrySet(), keySet() 메소드를 사용하여 Set 객체를 반환받은 후 Iterator 인터페이스를 사용하시면 됩니다. entrySet() 은 key 와 value 두 개 모두가 필요할 경우 사용하며, keySet() 은 key 값만 필요할 경우 사용합니다. import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapIteration { public static void main(String args[]) { mapInteration(); } public static voi..
Map 컬렉션 클래스 Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가집니다. Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용합니다. 여기서 키(key)란 실질적인 값(value)을 찾기 위한 이름의 역할을 합니다. -특징 1. 요소의 저장 순서를 유지하지 않습니다. 2. key : 중복을 허용 X value : 중복은 허용 O 대표적인 Map 컬렉션 클래스에 속하는 클래스 1. HashMap 클래스 -Map 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나입니다. -HashMap은 Map을 구현한다. key와 value를 묶어 하나의 entry로 저장한다는 특징을 갖는다. -해시 알고리즘(hash a..
int와 Integer 흔히 사용하는 int는 원시 자료형(프로그래밍 언어가 제공하는 자료형)이다. 예를 들면 int, char, float, double 등과 같은. Integer는 Wrapper Class이다. Wrapper 클래스란 자바 기본형을 클래스화 시킨 것으로 기본 데이터형을 값이 아닌 객체로 사용할 수 있는 방법을 제공한다. 아래 표는 Wrapper Class의 종류이다. 참고로 Wrapper Class의 메소드 중 parse로 시작하는 메소드는 객체형이 아닌 기본 데이터형을 반환한다. 아래와 같이 많이 쓰인다. 1 2 3 String numString = "8"; int numInt = Integer.parseInt(numString); System.out.println(numInt); ..
Iterator란? List와 빼먹을 수 없는 것이 Iterator 인터페이스이다. 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 것이다. 컬렉션 프레임워크란 데이터를 저장하는 클래스들을 표준화한 설계이다. 컬렉션 프레임워크는 아래 그림과 같이 데이터를 저장하는 구조에 따라 3가지 인터페이스로 구성된다. Iterator는 이런 집합체로부터 정보를 얻어낸다고 볼 수 있다. 집합체를 다룰 때는 개별적인 클래스에 대해 데이터를 읽는 방법을 알아야하기 때문에 각 컬렉션에 접근이 힘들어진다. Iterator를 쓰게 되면 어떤 컬렉션이라도 동일한 방식으로 접근이 가능하여 그 안에 있는 항목들에 접근할 수 있는 방법을 제공한다.(다형성) Iterator의 메소드에는 hasNex..
컬렉션 프레임워크(Collection Framework)의 구조 ■ 각 인터페이스의 특징 인터페이스 구현 클래스 특징 List LinkedList Stack Vector ArrayList 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. Map HashMap TreeMap HashTable Properties 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합이다. 순서는 유지되지 않고, 키는 중복을 허용하지 않으며 값의 중복을 허용한다. List(ArrayList , Vector , LinkedList )는 입력한 모든 값들이 저장 순서보장 X Hash ( HashSet,Linke..