Java

Java - ArrayList와 HashMap / size(), set(), remove(), clear(), isEmpty,put(),replace(),

왕현성 2023. 1. 25. 12:50
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");
		}