MY MEMO
[JAVA] Set List Map Vector Properties 예제 본문
Set - HashSet
중복을 허용 X
순서를 유지 X
HashSet 은 Hashing을 이용해서 구현한 Collection
+) 저장 순서를 유지하려면 LinkedHashSet
+) Hashing이란 많은 양의 데이터를 그보다 작은 크기의 테이블에 mapping시켜 저장할 수 있도록 하는 데이터 관리 기법
TreeSet
- BinarySearchTree형태로 데이터를 저장
- Red Black Tree (이진 트리의 범주를 멋어나지 않으면서 자동으로 균형을 맞추는 알고리즘)
ex)
Set set = new HashSet();
set.add("양효선");
Set sortedSet = new TreeSet(set);
List
Collection interface를 상속
순서 존재
중복 허락
배열과 같이 index 0부터 시작
ex)
ArrayList a = new ArrayList();
a.add("홍길동");
for (Object name : a) {
System.out.print(name +"\t");
}
또는
for (String name : a) {
System.out.print(name +"\t");
}
List list = new ArrayList();
list.add("A");
LinkedList linkedList = new LinkedList();
linkedList.addFirst("A");
linkedList.removeLast();
Map
key와 value를 쌍으로 데이터를 저장
key를 이용해서 value를 찾음 (매우 쉬움)
정렬이 되지 않음 (String의 경우 but Integer은 정렬가능)
TreeMap은 Map을 정렬해줌
ex)
Map map = new HashMap();
map.put("1", "양효선");
Map sortedMap = new TreeMap(map);
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "양효선");
Map<Integer,String> sortedMap = new TreeMap<Integer,String>(map);
Vector
vector대신 ArrayList가 더 많이 사용됨
ex)
Vector<String> vector = new Vector<String>();
for(int i=0;i<10;i++)
vector.addElement(String.valueOf(Math.random()*100));
for(int i=0;i<10;i++)
System.out.println(vector.elementAt(i));
for (Enumeration<String> e = v.elements(); e.hasMoreElements();)
System.out.println(e.nextElement());
Properties
자바에서 설정파일로부터 값을 읽을 때 많이 사용되는 클래스
키와 값이 쌍으로 데이터를 저장
ex)
Properties prop = new Properties();
prop.put("name", "장길산");
prop.put("address", "황해도 구월산");
try {
prop.store(new FileOutputStream("test.properties"),"My Favorite");
} catch (IOException e) {
System.out.println(e.getMessage());
}
System.out.println("Properties Store!");
try {
prop.load(new FileInputStream("test.properties"));
} catch (IOException e) {
System.out.println(e.getMessage());
}
System.out.println(prop.getProperty("name"));
System.out.println(prop.getProperty("address"));
System.out.println("Properties Load!");
+) Equals
Integer a = new Integer(10);
Integer b = new Integer(10);
if(a==b) System.out.println("a==b");
else System.out.println("a!=b"); //Different Object
if(a.equals(b)) System.out.println("a equal b"); //Same Content
else System.out.println("a don't equal b");
int result = a.compareTo(b);
if(result==0) System.out.println("Equals"); //Same Content
else System.out.println("Different");
+) Sorting Algorithm : https://medium.com/@fiv3star/%EC%A0%95%EB%A0%AC%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-sorting-algorithm-%EC%A0%95%EB%A6%AC-8ca307269dc7
'STUDYING > JAVA' 카테고리의 다른 글
[JAVA] Version 관련 (0) | 2018.02.09 |
---|---|
[JAVA] 기본 개념 다지기 - 2 (0) | 2017.10.16 |
[JAVA] 기본 개념 다지기 - 1 (0) | 2017.10.02 |
[JAVA] JAVA로 게임 만들기 (환경 설정) (0) | 2017.06.09 |
[JAVA] 상속 (0) | 2017.06.02 |