LinkedList : 위 리스트와 다른 구조(헤더-노드-노드..)인접 노드와 연결(Link)를 해서 연결, 삽입, 삭제 속도가 빠름
package Study;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
public class ListStudy {
public static void main(String[] args) {
List<String> arrayList = new ArrayList<String>(10);//리스트에 데이터를 넣어서 관리, 사이즈를 지정해도 초과하면 자동으로 늘어남
List<String> vector = new Vector<String>();//arrayList와 동일하나 동기화를 지원
/*ArrayList와 Vector는 동기화 유무 이외엔 차이가 없음*/
arrayList.add("jony");//삽입
arrayList.add(2, "kim");//n번째에 삽입
arrayList.contains("jony");//리스트에 해당 데이터가 있는지 검색해서 true, false로 반환
arrayList.size();//리스트의 사이즈를 반환
arrayList.remove(2);//리스트 n번째에 있는 데이터 삭제
arrayList.clear();//리스트 비우기
/*LinkedList : header-node-node-node... */
LinkedList<String> linkedList = new LinkedList<String>();//인접 노드의 연결(link)함, 연결된 전후 노드가 삭제되면 그 다음 노드에 연결함
linkedList.add("jony");//삽입
linkedList.add(2, "kim");//n번째에 삽입
linkedList.addFirst("tim");//가장 처음(header)에 삽입
linkedList.addLast("yamada");//가장 마지막에 삽입
linkedList.size();//리스트의 사이즈를 반환
linkedList.removeFirst();//가장 앞의 데이터 삭제
linkedList.removeLast();//가장 뒤의 데이터 삭제
linkedList.remove(2);//n번째 데이터 삭제
linkedList.clear();//리스트 비우기
}
}
package Study;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.SortedMap;
import java.util.TreeMap;
public class MapStudy {
public static void main(String[] args) {
/*HashMap<key, value> 동기화(Synchronization) 미지원*/
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("name", "jony");//키와 값을 저장
hashMap.get("name");//해당 키의 값을 리턴
System.out.println(hashMap.size());//.size() : 해당 맵의 키/값의 수를 리턴
System.out.println(hashMap.containsKey("name"));//.containsKey(키) : 해당 키를 가지고 있다면 true 없다면 false
System.out.println(hashMap.containsValue("jony"));//.containsValue(값) : 해당 값을 가지고 있다면 true 없다면 false
System.out.println(hashMap.isEmpty());//.isEmpty() : 맵이 비어있다면 true 아니면 false
hashMap.remove("name");//해당키와 값을 제거
hashMap.clear();//모든 키와 값을 제거
/*HashTable<key, value> 동기화(Synchronization) 지원*/
Hashtable<String, Object> hashTable = new Hashtable<String, Object>();
BeanStudy bean = new BeanStudy();//Bean(DTO, VO) 생성
/*Object는 자바 최상위 Class, Integer, String, Object를 담을 수 있음*/
hashTable.put("member", bean);//키와 값을 저장
hashTable.get("member");//해당 키의 값을 리턴
System.out.println(hashTable.size());//.size() : 해당 맵의 키/값의 수를 리턴
System.out.println(hashTable.containsKey("member"));//.containsKey(키) : 해당 키를 가지고 있다면 true 없다면 false
System.out.println(hashTable.containsValue(bean));//.containsValue(값) : 해당 값을 가지고 있다면 true 없다면 false
System.out.println(hashTable.isEmpty());//.isEmpty() : 맵이 비어있다면 true 아니면 false
hashTable.remove("member");
hashTable.clear();
SortedMap<String, String> sortedMap = new TreeMap<String, String>();
}
}
사용 빈도로는 HashMap>HashTable>SortedMap(거의 사용되지 않아서 코드는 생략함)