상세 컨텐츠

본문 제목

Map 과 List

Java/JSP

by 탑~! 2012. 12. 14. 09:51

본문

점차적으로 다양한 자료를 추가하여 일목요연하게 볼 수 있도록 하겠습니다.
- ArrayList
- List
- Map
- HashMap
- Set
- Collection
- Queue
- Vector



###################################################################################################
List :
- 검색 기능이 있으며 중복되는 데이터를 저장할 수 있다.
- DB 조회결과 저장시
- 검색의 기능이 없다(Index, 내용)
- ArrayList와 Vector가 있다

List list = new ArrayList();
ArrayList list = new ArrayList();
Collection list = new ArrayList();
Collection으로 선언하면 인터페이스에 있는 메소드 밖에 못쓰지만 대신에 나중에 ArrayList가 아닌 Vector나 기타 자료형으로 쉽게 교체 가능

list.get(인덱스번호);

ArrayList 샘플
public class ArrayListTest {

/-*
* @param args
*-
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> aList1 = new ArrayList<String>();
for(int i = 0; i<10; i++) aList1.add(String.valueOf(i));
System.out.println("Size:" + aList1.size());
showList(aList1);

ArrayList<String> aList2 = new ArrayList<String>();
aList2.add("영희");
aList2.add("철희");
aList2.add("만수");
System.out.println("Size:" + aList2.size());
showList(aList2);

}


public static void showList(ArrayList<String> aList) {
Iterator<String> it = aList.iterator();
while(it.hasNext() == true)
System.out.println(it.next());
}
}

###################################################################################################
Map : Map<Key, value>
- 키와 값의 쌍으로 이루어진 자료형
- 2차 검색시
- Hashtable, HashMap, TreeMap
- 키는 중복될 수 없고 값은 중복될 수 있다.
- 키를 가지고 값을 겁색한다.
map.put(key, value) : 값을 추가시
map.size() : 크기
map.get(key) : 키에 해당하는 value 구하기

HashMap map = new HashMap();
Map map = new HashMap();

HashMap 샘플
import java.util.HashMap;


public class HashMapTest {
public static void main(String[] args) {

HashMap<String, Integer> map = new HashMap<String, Integer>();

map.put("영희", new Integer(40));
map.put("철희", new Integer(50));
map.put("만수", new Integer(60));
map.put("만덕", new Integer(70));
map.put("만복", new Integer(90));
map.put("만수", new Integer(80)); // key가 중복되면 값을 덮어씌움.

Integer num = map.get("만수");
System.out.println("만수의 성적은?" + num);
}
}

HashMap vs TreeMap
HashMap과 TreeMap은 매우유사하다
TreeMap은 데이타를 가져올때 순차적으로 가져온다.
속도차이를 http://blog.naver.com/specialcase?Redirect=Log&logNo=80123167151 사이트에서 비교해 둔것이 있다.

###################################################################################################
Set : Set<Genric> set = new HashSet<Generic>();
- 검색 기능이 없으며 중복되는 데이터를 저장하지 않는다.
- DB primary key값 저장시
- 검색 기능이 없다(Iterator를 사용 대신 검색)
- HashSet
set.add(value) : value 추가
set.size() : 크기
Iterator<Generic> ita = set.iterater();
while(ita.hasNext()){
ita.next();//value 얻기
}


HashSet 샘플 : 중복값 불허

import java.util.HashSet;
import java.util.Iterator;


public class HashSetTest {
public static void main(String[] args) {
String[] str = {"Java", "Beans", "Java", "XML"};
HashSet<String> hs1 = new HashSet<String>();
HashSet<String> hs2 = new HashSet<String>();

for(String n : str)
if(!hs1.add(n)) // 추가한 값이 이미 Set 구조에 저장되어 있음.
hs2.add(n); // 중복된 값을 hs2에 저장 "Java" 저장

System.out.println("hs1: " + hs1);
System.out.println("hs2: " + hs2);

System.out.println("::Iterator 이용 요소의 출력");
Iterator<String> ir = hs1.iterator();
while(ir.hasNext()) {
String s = (String) ir.next();
System.out.println(s);
}
}
}

###################################################################################################
isEmpty() 메소드 : 비어있을때 true를 반환
벡터도 ArrayList와 비슷한데요
벡터나 array 나 둘다 같은 시퀀스 데이터구조에 기반.
시퀀스는 데이터의 접근을 순차적인 인덱스값에 대한 위치로 접근.
데이터의 양단에서만 접근이 가능한 스택이나 큐와는 다르죠.
또한 벡터는 위치를 이용한 add, set, get, remove 를 할 수 있습니다


Vector 샘플

import java.util.Iterator;
import java.util.Vector;


public class VectorTest {
public static void main(String[] args) {

Vector<String> v = new Vector<String>(2,5);

System.out.println("::Vector생성시::");
System.out.println("capacity:"+v.capacity());
System.out.println("size:"+v.size());

v.add("박지성");v.add("박주영");v.add("박상철");

System.out.println("");
System.out.println("::요소추가::");
System.out.println("capacity:"+v.capacity());
System.out.println("size:"+v.size());

System.out.println("");
System.out.println("::요소의 추출::");
for(int i=0; i<v.size(); i++) {
String s = v.get(i);
System.out.println(s); // elementAt() 도 가능
}

System.out.println("");
System.out.println("");
System.out.println("::Iterator를 이용한 요소 추출::");

Iterator<String> it = v.iterator();

while(it.hasNext()) {
String s = it.next();
System.out.println(s);
it.remove();
}

}
}


출처 : http://xxwony.egloos.com/162164

'Java > JSP' 카테고리의 다른 글

include page 와 file 비교  (0) 2012.12.14
URLEncoder 와 URLDecoder 사용법  (0) 2012.12.14
List list = new ArrayList()  (0) 2012.12.14
JSP 사이트  (0) 2012.12.14
JSP 와 MS SQL SERVER 연동  (0) 2012.09.06

관련글 더보기