728x90
Array List
- 메모리에 동적으로 할당
- 선언시에 갯수를 정의하지 않아도 됨
- 갯수에 상관없이 데이터의 추가 삭제가 자유로움
- 저장 할 데이터 타입 선언은 <>를 통해서 정의
비어있는 ArrayList 생성
ArrayList<String> nameList = new ArrayList<>();
// 위의 어레이리스트는 비어있는 것이다.
데이터 추가
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");
데이터 억세스
String name=nameList.get(2);
System.out.println(name);
어레이 리스트의 데이터 갯수를 확인하는 함수 size()
nameList.size();
저장된 데이터를 모두 출력하는 방법 2가지
for (int i=0;i<nameList.size();i++) {
System.out.println(nameList.get(i));
}
// for each 반복문!!
for ( String data : nameList ) {
System.out.println(data);
}
데이터의 값 변경 set()
name=nameList.get(2);
System.out.println(name);
nameList.set(2, "Harry");
name=nameList.get(2);
System.out.println(name);
삭제하는 방법 인덱스로 삭제하거나, 값으로 삭제하는 것. remove()
nameList.remove(2);
nameList.remove("Harry");
전체 저장된 데이터를 모두 삭제 clear()
nameList.clear();
ArrayList가 비어있는지 확인하는 함수 isEmpty()
if(nameList.isEmpty()) {
System.out.println("nothing");
}else {
System.out.println("something");
}
HashMap
- 키와 밸류가 한 쌍인 데이터 구조
- 키는 인덱스를 의미하며, 밸류는 실제 값을 의미
- 배열은 인덱스의 번호로 데이터를 접근하지만 해쉬맵은 키 값으로 데이터 접근
- 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐
데이터 저장
HashMap<String,String> phoneMap = new HashMap<>();
// 데이터 저장
phoneMap.put("model","iPhone 12");
phoneMap.put("year", "2021");
phoneMap.put("color", "red");
데이터 억세스 : key값으로 억세스!
String model=phoneMap.get("model");
System.out.println(model);
데이터 값 변경 replace()
phoneMap.replace("year","2022"); // key값이 year인 것의 데이터를 2022로 바꾸는 코드
데이터 삭제
phoneMap.remove("year");
저장된 데이터를 모두 출력하는 방법 2가지
Object[] values = phoneMap.values().toArray();
for(int i=0;i<values.length;i++) {
System.out.println((String)values[i]);
}
for(Object data:phoneMap.values().toArray()) {
System.out.println((String)data);
}
전체 저장된 데이터를 모두 삭제
phoneMap.clear();
데이터가 있는지 없는지 확인하는 코드
if (phoneMap.isEmpty()) {
System.out.println("Nothing");
}else {
System.out.println("Something");
}
'Java' 카테고리의 다른 글
java - email 체크 정규식 (0) | 2023.01.31 |
---|---|
Java - 예외 처리 - Try/Catch/Finally (0) | 2023.01.26 |
Java - 정수 및 실수를 클래스로 생성하는 방법 / 문자열 형변환 / 문자열 함수 (0) | 2023.01.25 |
Java - 추상클래스 (abstract)와 인터페이스(interface) (0) | 2023.01.20 |
Java - 상속 (Inheritance) / 메소드 오버라이딩 (Method Overriding) / super (0) | 2023.01.19 |