아무튼 개발
article thumbnail
반응형
  • ArrayList 

ArrayList 역시 List 인터페이스를 구현한 것이다.

값을 더하기 위해

lists.add("한국")

이런 식으로 값을 더할 수 있다.

  • ListIterator

Iterator 인터페이스를 상속받은 인터페이스

양방향으로 이동 가능하다

hasNext는 순서대로 나오지만

hasPrevious는 역순으로 출력된다.

 


  • Map

Map은 인터페이스이며 Hashtable, HashMap 클래스가 구현한다.

Hashtable은 Vector처럼 동기화를 지원하기 때문에 속도가 느리며

HashMap은 ArrayList와 같이 동기화 지원하지 않아 빠르다.

Iterator가 없기 때문에 Key의 Set에서 가져온다.

 

  • Key

Key는 중복값을 가질 수 없다 (중복을 허용하지 않는 인터페이스 Set때문)

중복이 될 경우, 마지막으로 입력한 값이 저장된다. 즉, 수정의 기능을 담는다.

 

put(key,value) : 데이터 추가

get(key,value) : 데이터 읽기

 

public class Test{
  public static final String[] tel = {"010-111","010-222","010-333","010-111"};  //key
  public static final String[] name = {"가","나","다","라"};  //value

   public static void main(String[] args) {
     Hashtable<String, String> h = new Hashtable<>();

       for(int i=0;i<name.length;i++) {
              h.put(tel[i], name[i]);
          } System.out.println(h);

key와 value의 값을 넣어주며 tel은 key이다.

Hashtable<key의 자료형, value의 자료형>. -> 오른쪽의<>는 안써줘도 문제 없다.

put에 값을 각각 넣어주는 이유는 key,value의 저장공간이 다르기 때문이다.

 

출력 시, "010-111"에는 "다"로 나타난다.

그 이유는 위에서 key는 중복일 경우 마지막 값으로 수정되는 것처럼 앞서 나온 "가"가 아닌 마지막 값 "다"가 출력되게 된다.

 

String str; (이미 선언된 상태)

=> key를 주면 value를 가져온다!

또한 String은 원래 equals메소드를 통해 값을 비교하지만

비교값이 null일 때에만 ==로 가능하다!

null은 옆의 equals("")와 같은 의미이다.

 

containsKey : key가 존재하는지 확인

+  containsValue(value값) : 값(value)이 있는지 확인

+ remove(key값) : 삭제

 

iterator는 set에서 가져온 것이기에 KeySet을 사용한다.

while문 내에서는 h에서 가져온 값을 it에 넣어준다.

next를 통해 key를 읽으며

get은 데이터를 읽기 때문에 값인 value를 읽는다. 괄호 안엔 key가 들어감으로써 value를 알 수 있다.

물론 코드에서 작성한 key와 value는 쉽게 보기 위해 단순히 설정한 변수 이름이다. (진짜 key,value 자체가 아님!) 

 

  • Stack

stack 말 그대로 '쌓다'이다.

선언은 Stack을 넣어서 입력한다.

값을 넣는 순서대로 아래부터 쌓인다고 생각하면 쉽다.

통 안에서 맨 밑부터 서울->부산->대구순인 것이다.

 

push : 값 넣음

empty : 비어있는지 확인

!는 뒤의 의미의 반대이다. 즉, while문은 비어있지않을 때까지 반복하게 된다.

pop : 마지막 값부터 나온다. "대구"부터 값이 출력되는 것이다.

 

  • Queue

Queue 클래스는 선언할 때 LinkedList를 활용한다. (모두 import되어야 한다!)

위의 push와 달리, offer로 값을 추가한다. add도 가능하다.

 

peek : 제일 먼저 저장된 값 읽음 (확인 시)

poll : 값을 꺼냄(반환)

 

List<String> lists2 = new LinkedList<>();
lists2.subList(2, 5).clear();

 LinkedList는 Queue뿐만 아니라 List도 구현한다.

subList(2, 5).clear는 인덱스 앞자리숫자번호부터 (뒷자리 숫자-1)인덱스 번호까지 지워진다.

즉, 2번부터 (5-1=4) 4번까지 지워진다.

뒷자리에서 -1해줘야 한다는 것을 주의하자!

 

 

 

반응형
profile

아무튼 개발

@릴쥬

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...