• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] Java - ArrayList (어레이리스트) - 랜덤 접근 최적화 된 유사 배열

2,197  

목차

  1. ArrayList 정의
  2. 요소 추가 - add() 메서드
  3. 요소 접근 - get(index) 메서드
  4. 요소 변경 - set(index, element) 메서드
  5. 요소 제거 - remove(index) / clear() 메서드
  6. ArrayList 크기 (= 길이 = 요소 개수) - size() 메서드
  7. ArrayList 반복 - for / for_each 반복문
  8. String 이외의 다른 자료형 객체
  9. ArrayList 정렬 (오름차순/내림차순)

 

ArrayList 정의

 

크기 (= 배열 요소 개수) 조정 가능한 배열 클래스.

※ java.util 패키지에서 가져와야 사용 가능.

※ 유용한 많은 메서드를 내장.

 


[ArrayList 클래스 vs. 내장 Array]

 

1. ArrayList 클래스 :

크기 조정 O.

구문도 내장 Array와 약간 다름.

 

2. 내장 Array :

크기 조정 X. (※ 요소 추가/제거하려면, 새 배열 생성 필요.)

 


[ArrayList 구문]

 

// ArrayList 클래스 가져오기.

import java.util.ArrayList; 


// codes라는 String 자료형의 ArrayList 객체 생성.

ArrayList<String> codes = new ArrayList<String>(); 

 

 

요소 추가 - add() 메서드

 

ArrayList 객체의 add() 메서드 이용.

 


[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    System.out.println(codes);

  } 

}

 

 

결과값: [HTML, CSS, JS, PHP]

 

요소 접근 - get(index) 메서드

 

ArrayList 객체의 get(index) 메서드 이용.

※ index : 색인번호. 

색인은 0부터 시작. (예) 첫 번째: 0, 두 번째: 1, ...

 


[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    System.out.println(codes.get(0));

  } 

}

 

결과값: HTML

 

요소 변경 - set(index, element) 메서드

 

ArrayList 객체의 set(index, element) 메서드 이용.

※ index : 색인번호. (색인은 0부터 시작.)

※ element : 새 요소값.

 


[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    codes.set(3, "SQL");

    System.out.println(codes);

  } 

}

 

 

 

요소 제거 - remove(index) / clear() 메서드

[특정 요소 제거]

 

ArrayList 객체의 remove(index) 메서드 이용.

※ index : 색인번호. (색인은 0부터 시작.)

 

[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    codes.remove(3);

    System.out.println(codes);

  } 

}

 

결과값: [HTML, CSS, JS]


[모든 요소 제거]

 

ArrayList 객체의 clear() 메서드 이용.

[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    codes.clear();

    System.out.println(codes);

  } 

}

 

 

 

ArrayList 크기 (= 길이 = 요소 개수) - size() 메서드

 

ArrayList 객체의 size() 메서드 이용.

 


[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    System.out.println(codes.size());

  } 

}

 

 

ArrayList 반복 - for / for_each 반복문

[for 반복문]

 

※ ArrayList 객체의 size() 메서드로 반복 횟수 지정.

※ ArrayList 객체의 get(index) 메서드로 각 요소에 접근.

 

[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    for (int i = 0; i < codes.size(); i++) {

        System.out.println(codes.get(i));

    }

  } 

}

 

결과값:

HTML

CSS

JS

PHP


[for_each 반복문]

 

※ for 반복문에 비해 코드 간단.

※ 임의의 변수 (예: i) 이용해 ArrayList 객체에 바로 접근.

[예제] Hz.java

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    for (String i : codes) {

        System.out.println(i);

    }

  } 

}

 

결과값:

HTML

CSS

JS

PHP

 

String 이외의 다른 자료형 객체

 

1.

ArrayList의 요소는 객체 (Object)이며, 

Java에서 String (문자형)은 객체로 취급.

 

2.

String (문자형) 이외의 다른 자료형 객체를 생성하려면,

랩퍼 클래스 (wrapper class) 이용해야 함.

 


[예제] Hz.java

※ 정수형 객체 생성.

 

import java.util.ArrayList;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<Integer> nums = new ArrayList<Integer>();

    nums.add(1);

    nums.add(3);

    nums.add(5);

    nums.add(7);

    for (int i : nums) {

      System.out.println(i);

    }

  } 

}

 

결과값:

1

3

5

7

 

ArrayList 정렬 (오름차순/내림차순)

[오름차순]

 

java.util.Collections 클래스의  Collections.sort() 메서드 이용.

 

 

[예제] Hz.java

String (문자형) 객체 오름차순 정렬.

 

import java.util.ArrayList;

import java.util.Collections;


public class Hz { 

  public static void main(String[] args) { 

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

    

    Collections.sort(codes);

    

    for (String i : codes) {

        System.out.println(i);

    }

  } 

}

 


[내림차순]

 

java.util.Collections 클래스 안의 

Collections.sort() 메서드로 먼저 오름차순 정렬 후,

Collections.reverse() 메서드로 역순 정렬시킴.

 

[예제] Hz.java

Integer (정수형) 객체 내림차순 정렬.

 

import java.util.ArrayList;

import java.util.Collections;

 

public class Hz { 

  public static void main(String[] args) { 

    ArrayList<Integer> nums = new ArrayList<Integer>();

    nums.add(3);

    nums.add(7);

    nums.add(1);

    nums.add(5);

    

    Collections.sort(nums);

    Collections.reverse(nums);

    

    for (int i : nums) {

      System.out.println(i);

    }

  } 

}

 

결과값:

7

5

3

1

PS. 역순 정렬만 시키려면, Collections.reverse() 메서드만 적용.

 


분류 제목
Keyword Java - instanceof 키워드 - 객체가 클래스(또는, 인터페이스)의 인스턴스인지 체크. (= 인스…
Keyword Java - int 키워드 - int 정수 자료형 변수 선언.
Keyword Java - interface 키워드 - 인터페이스 선언
Keyword Java - long 키워드 - long 자료형 정수 담는 변수 선언.
Keyword Java - module 키워드 △ - 모듈 선언.
Keyword Java - native 키워드 △ - 메서드가 동일 Java 소스 파일(다른 언어)에서 구현되지 않도록 지…
Keyword Java - new 키워드 - 새로운 객체 생성 (= new키워드 = 뉴키워드)
Keyword Java - package 키워드 - 패키지 선언.
Keyword Java - private 키워드 - 선언된 클래스 안에서만 접근 가능 설정.
Keyword Java - protected 키워드 - 같은 패키지 및 서브 클래스에서만 접근 가능 설정.
Keyword Java - public 키워드 - 다른 클래스의 접근을 허용. (= 퍼블릭)
Keyword Java - requires 키워드 △ - 모듈 내부에 필요한 라이브러리 지정. (Java 9 이상)
Keyword Java - return 키워드 - 메서드 실행 후, 값을 반환.
Keyword Java - short 키워드 - short 정수 자료형 선언.
Keyword Java - static 키워드 - 객체 생성 없이 바로 접근 가능한 (메서드/속성) 선언.
Keyword Java - strictfp 키워드 △ - 부동 소수점 계산 정밀도 및 반올림 제한.
Keyword Java - super 키워드 - 슈퍼클래스 (= 부모클래스) 객체 의미.
Keyword Java - switch 키워드 - switch 조건문 선언.
Keyword Java - synchronized 키워드 △ - 한 번에 하나의 스레드에서만 메소드에 접근 가능 지정하는 …
Keyword Java - this 키워드 - (메서드・생성자)에서 현재 객체 지칭. (= 디스)
5/10
목록
찾아주셔서 감사합니다. Since 2012