List의 모든 요소를 삭제한다.
map에 String, List<String> 형식으로 값을 넣을 때 List객체 생성에 대한 공부
List<String> list = new ArrayList<String>();
Map<String, List<String>> map = new HashMap<String, List<String>>();
list.add("a");
list.add("b");
map.put("list", list);
list.clear();
System.out.println(map.get("list"));
[]
List<String> list = new ArrayList<String>();
Map<String, List<String>> map = new HashMap<String, List<String>>();
list.add("a");
list.add("b");
map.put("list1", list);
list.clear();
list.add("c");
list.add("d");
map.put("list2", list);
System.out.println("list1: " + map.get("list1"));
System.out.println("list2: " + map.get("list2"));
list1: [c, d]
list2: [c, d]
list를 clear()로 값을 다 지웠다고 생각하고 다른 객체로 바라본다면 경기도 오산,,~!
map.get(key)로 value를 가져올 때 주소값을 바라보며 map에 값을 넣을 때의 값이 아닌 현재 값을 가져오므로 배열이 빈 값으로 가져와진다.
List<String> list = new ArrayList<String>();
Map<String, List<String>> map = new HashMap<String, List<String>>();
list.add("a");
list.add("b");
map.put("list1", list);
list = new ArrayList<String>();
list.add("c");
list.add("d");
map.put("list2", list);
System.out.println("list1: " + map.get("list1"));
System.out.println("list2: " + map.get("list2"));
list1: [a, b]
list2: [c, d]
또한 clear()를 사용하는 것보다 new를 사용하여 객체를 생성하는 것이 속도면에서도 효율적이다.