ArrayList ?
- 기존 Java의 배열이 크기를 정해놓고 사용을 해야하다 보니, 필요 이상의 데이터가 존재 한다면 오류를 일으키는데 이것을 해결 하기위해 만들어 낸 프레임워크이다.
- 크기가 정해진 것이 아닌, 동적으로 만들어질 수 있게 되어있어서 배열을 사용하는데 있어서 매우 많이 사용된다고 볼 수 있다.
그래서 사용은 ?
public static void main(String[] args) {
String[] nameArr = new String[5];
ArrayList<String> nameList = new ArrayList<>();
nameList.add("홍길동");
nameList.add("김나나");
nameList.get(0);
nameList.set(1, "호호호");
nameList.remove(1);
for(String name : nameList) {
System.out.println(name);
}
System.out.println(nameList.size());
System.out.println(nameList.isEmpty());
nameList.clear();
}
HashMap ?
- ArrayList와 동일하게 동적으로 만들어지는 공간을 말한다.
- 차이점이라면 Python의 딕셔너리(dic)와 똑같은 형태라고 생각하면 편하다.
- Key / Value의 값으로 저장되고 사용되는 특징이 있다.
public static void main(String[] args) {
HashMap<String, String> phoneMap = new HashMap<>();
phoneMap.put("model", "iPonde 12");
phoneMap.put("year", "2021");
phoneMap.put("color", "red");
System.out.println(phoneMap.get("color"));
phoneMap.replace("year", "2022");
System.out.println(phoneMap.get("year"));
phoneMap.remove("year");
Object[] values = phoneMap.values().toArray();
for(int i = 0; i < values.length; i++) {
System.out.println(values[i]);
}
for(Object data : values) {
System.out.println(data);
}
phoneMap.clear();
System.out.println(phoneMap.isEmpty());
}