[Java] ArrayList / HashMap

원준·2023년 7월 12일
0

Java

목록 보기
18/19

ArrayList ?

  • 기존 Java의 배열이 크기를 정해놓고 사용을 해야하다 보니, 필요 이상의 데이터가 존재 한다면 오류를 일으키는데 이것을 해결 하기위해 만들어 낸 프레임워크이다.
  • 크기가 정해진 것이 아닌, 동적으로 만들어질 수 있게 되어있어서 배열을 사용하는데 있어서 매우 많이 사용된다고 볼 수 있다.

그래서 사용은 ?

	public static void main(String[] args) {

		
		// Array(배열)은 생성할때 무조건 갯수를 정해놓고 생성해야한다.
		String[] nameArr = new String[5];
		//정해진 갯수 이상으로는 데이터 추가가 불가능하다.
		
		// 갯수 제한 없이 데이터를 맘대로 추가할수도 있고, 삭제할수도 잇는 ArrayList를 이용한다.
		// 데이터가 아무것도 없는, 비어있는 리스트 생성
		ArrayList<String> nameList = new ArrayList<>();
		
		//데이터 넣기 C
		nameList.add("홍길동");
		nameList.add("김나나");
		
		//데이터 가져오기 R
		nameList.get(0);
		
		//데이터 변경 U
		nameList.set(1, "호호호");
		
		//데이터 삭제 D
		nameList.remove(1);
		
		//전체 데이터 루프 도는 방법
		// for each 반복문
		for(String name : nameList) {
			System.out.println(name);
		}
		
		//ArrayList에 데이터가 몇개 있는지 확인하는 방법
		System.out.println(nameList.size());
		
		//데이터가 비어있는지 확인하는 방법
		System.out.println(nameList.isEmpty());
		
		//데이터를 모두 삭제하는 함수
		nameList.clear();
	}

HashMap ?

  • ArrayList와 동일하게 동적으로 만들어지는 공간을 말한다.
  • 차이점이라면 Python의 딕셔너리(dic)와 똑같은 형태라고 생각하면 편하다.
  • Key / Value의 값으로 저장되고 사용되는 특징이 있다.
    	public static void main(String[] args) {
    			// TODO Auto-generated method stub
    		
    			//Map은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐로서,
    			//key, value의 쌍으로 저장한다.
    		
    			//
    			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");
    		
    		
    			//전체 데이터 프린트
    			//java의 최상위 클래스 object
    			Object[] values = phoneMap.values().toArray();
    			for(int i = 0; i < values.length; i++) {
    				System.out.println(values[i]);
    			}
    		
    			//for each
    			for(Object data : values) {
    				System.out.println(data);
    			}
    		
    			//전체 데이터 삭제
    			phoneMap.clear();
    		
    			System.out.println(phoneMap.isEmpty());
    		}
profile
공부해보자

0개의 댓글

관련 채용 정보