ArrayList, HashMap

Woongbin·2022년 7월 18일
0

Java 기초

목록 보기
15/17
post-thumbnail

😁 ArrayList

  • Collection 프레임워크의 일부, java.util 패키지에 소속.
  • List 인터페이스에서 상속받아 사용 됨.
  • 배열과 다르게 배열의 크기가 가변적으로 변함.
  • 동적 배열.

선언 방법

import java.util.ArrayList;

생성 방법

ArrayList<배열로 쓸 자료형> 변수명 = new<>(); // 배열 생성
ArrayList<배열로 쓸 자료형> 변수명 = new<>(10); // 초기크기 설정
ArrayList<배열로 쓸 자료형> 변수명 = new<>(Arrays.asList(1, 2, 3, 4); // 1, 2, 3, 4로 초기화

😃 엘레멘트 추가 및 변경

ArrayList를 생성후 add( ) 메소드로 엘레멘트를 추가 할 수 있고, set( ) 메소드로 기존 값을 변경 가능.

변수명.add("Black"); // Black이라는 값 추가.
변수명.add(1, "White"); // 1번째에 White라는 값 추가.

변수명.set(0, "Blue"); // 0번째 값을 Blue로 변경.

😄 엘레멘트 삭제

추가했던 값이나 변경했던 값을 삭제 할 때는 remove() 메소드를 사용하여 삭제 가능.

변수명.remove(0); // 0번째 값 삭제.
변수명.remove("White") // White라는 값 삭제.
변수명.clear(); // 모든 값 삭제.

※ ArrayList는 동적배열이기 때문에 값이 삭제되면 그 자리에 뒤에 있던 값이 밀려서 들어감. ex) 1, 2, 3에서 2를 제거하면 일반 배열은 1, null, 3이 되지만 동적배열은 1, 3이 됨.

😅 값 출력

ArrayList에선 원하는 값을 출력할때는 변수명.get(인덱스)를 사용한다.

System.out.println(변수명.get(0)) // 0번째 값 출력.
System.out.println(변수명); // 처음부터 끝까지 다 출력.
System.out.println(변수명.contains); // 배열 안에 값이 하나라도 있으면 true, 없으면 false 출력.

😥 HashMap

  • Map 인터페이스를 상속하고 있음.
  • 키와 값으로 구성되어 객체를 저장하는 자료구조.
  • 많은 양의 데이터를 검색할 때 뛰어난 성능.

선언 방법

import java.util.HashMap;

생성 방법

HashMap<키 자료형, 값 자료형> 변수명 = new HashMap<>(); // 생성.
HashMap<키 자료형, 값 자료형> 변수명 = new HashMap<>(10); // 초기 크기가 10인 HashMap 생성.

😮 값 추가 및 수정

HashMap에서 값을 추가하거나 수정 할때는 put( ) 메소드를 사용하는데 입력되는 키 값에 이미 값이 있으면 새로 입력되는 값으로 수정된다. (없으면 추가)

HashMap<Integer, String> map = new HashMap<>(); // 키가 Int형, 값이 String형.
map.put(0, "Black"); // 0번째에 Black이라는 값 추가.
map.put(1, "White"); // 1번째에 White라는 값 추가.

map.put(0, "Blue"); // 0번째에 있는 값을 Blue로 변경.

😐 값 삭제

HashMap에서 값을 삭제 할 때는 remove( ) 메소드로 특정 값을 삭제하거나 clear( ) 메소드로 모든 값을 다 삭제 할 수 있다.

map.remove(0); // 0번째 값 삭제
map.remove("White") // White라는 값 삭제.
map.clear(); // 모든 값 삭제.

🤐 값 출력

HashMap에서도 ArrayList와 마찬가지로 변수명.get(인덱스)를 이용하여 원하는 값을 출력한다.

  • entrySet( ) 메소드를 이용하면 key와 value 값을 가져옴.
  • keySet( ) 메소드를 이용하면 key 값만 가져옴.
  • valueSet( ) 메소드를 이용하면 value값만 가져옴.
System.out.println(map); // 전체 출력 { 0 = "Black", 1 = "White" } (Key = Value 형식.)
System.out.println(map.get(0)); // Key가 0인 값을 출력

for (Entry<Integer, String> entry : map.entrySet()) {
    System.out.println("[Key] :" + entry.getKey() + " [Value] :" + entry.getValue());
}
// Key값과 Value값을 각각 따로 출력함.
profile
블로그 이전 https://woongbin06.tistory.com/

0개의 댓글