Map과 List에 대한 간단한 이해
List는 원소들을 가지고 있는 데이터 집합이다. 순차 자료구조로 순차적으로 메모리에 저장되는 형태이다. 쉽게 배열로 바꾸어서 생각해도 된다.
따라서 List의 원소에 접근할 때는 index(첨자)로 접근한다.
List는 Generic이라는 옵션이 존재하는데 Generic 옵션이 설정된 List는 Generic에 해당되는 데이터 형만을 담을 수 있다.
List<Integer> myList = new ArrayList<Integer>();
위와 같이 선언된 List는 Generic 옵션으로 Integer 형을 받았다.
myList에 add할 수 있는 자료들은 Integer형의 데이터만 담을 수 있게 된다.
myList.add("data")와 같이 문자열을 넣으려 한다면 에러가 발생하게 된다.
myList.get(i)과 myList.remove(i) 메소드를 사용해서 myList 안에 있는 원소들을 인텍스로 접근, 삭제 등을 할수 있다.
Map은 List와 같은 원소들을 모아 놓은 집합이다.
List와는 달리 index(첨자)로 접근하는 것이 아니라 key로써 데이터를 제어할수 있다.
Map 또한 Generic 옵션을 설정할 수 있다.
Map<String, Object> myMap = new HashMap<String, Object>();
와 같이 Generic을 key와 data형으로 지정한다.
myMap.put("elementA", "Data_1");
과 같은 형태로 String의 key로 myMap에 저장된 Object 데이타를 제어할 수 있게 되며 Generic 형식에 따라야 한다.
put으로 저장된 데이터는 put할 때 지정했던 key로 접근이 가능하며
myMap.get("elementA")을 호출하면 저장된 "Data_1"이 반환된다.
myMap.remove("elementA")을 호출하면 해당하는 key를 가진 원소가 삭제된다.
'Java' 카테고리의 다른 글
추상 메소드(abstract method)의 목적, 용도, 쓰임새(추상 메소드를 만드는 이유) (0) | 2016.05.16 |
---|---|
Java의 Reference 타입 자료형에 대해 (0) | 2015.11.09 |
BufferedReader에 대한 개념 세우기 (0) | 2015.11.04 |
String을 byte[] 배열로 변환하는 법 - getBytes() 메소드에 대해 (0) | 2015.11.04 |
자바 제네릭스(Generics)에 대해서 - T[], List<T> 등의 의미 (0) | 2015.10.28 |