[JAVA - 점프 투 자바 #7]

리스트

리스트는 배열과 비슷하지만 편리한 기능이 많다 (그냥 php 배열이라고 생각하면 됌)

배열의 크기는 10개로 정했다면 10개를 초과하는 값을 담을 수 없지만 리스트는 크기가 정해져 있지 않아 원하는 만큼 값을 담을 수 있다.

  1. ArrayList
    1. add
    2. get
    3. size
    4. contains
    5. remove
  2. 제네릭스
  3. 다양한 방법으로 ArrayList 만들기
  4. String.join
  5. 리스트 정렬하기

ArrayList

add

  • 리스트에 값 추가 ```java import java.util.ArrayList;

public class Sample { public static void main(String[] args) { ArrayList pitches = new ArrayList(); pitches.add(“138”); pitches.add(“129”); pitches.add(“142”); } }

- 원하는 위치에 값 추가
```java
pitches.add(0, "133");
pitches.add(1, "133");

get

  • 특정 인덱스의 값을 추출할 수 있다. ```java import java.util.ArrayList;

public class Sample { public static void main(String[] args) { ArrayList pitches = new ArrayList(); pitches.add(“138”); pitches.add(“129”); pitches.add(“142”); System.out.println(pitches.get(1)); } }

***size***
- 리스트의 개수를 리턴한다
```java
System.out.println(pitches.size());

contains

  • 해당 항목이 있는지 판별
    System.out.println(pitches.contains("142"));
    

    remove

  • 리스트의 객체,인덱스 삭제
    System.out.println(pitches.remove("129"));  // 129를 리스트에서 삭제하고, true를 리턴한다.
    System.out.println(pitches.remove(0));  // pitches의 첫 번째 항목이 138이므로, 138을 삭제한 뒤 138을 리턴한다.
    

제네릭스

자료형을 안전하게 사용할 수 있도록 만들어 주는 기능이다.

  • 일반적인 방식 : ArrayList<String> pitches = new ArrayList<String>();
  • 선호되는 방식 : ArrayList<String> pitches = new ArrayList<>();

제네릭스 도입 전 리스트 사용

ArrayList pitches = new ArrayList();
제네릭스 도입 전후의 차이는 ArrayList 자료형 다음에 `<String>`이 있는가에 있다.
제네릭스를 표현한 `<String>`은 ‘ArrayList에 담을 수 있는 자료형은 String뿐이다’라는 뜻이다.
즉, 제네릭스를 이용하면 자료형을 좀 더 명확하게 체크할 수 있다는 장점이 있다.
  • 제네릭스 사용하지 않은 예 ```java ArrayList pitches = new ArrayList(); pitches.add(“138”); pitches.add(“129”);

String one = (String) pitches.get(0); String two = (String) pitches.get(1);

- 제네릭스 사용하는 예
```java
ArrayList<String> pitches = new ArrayList<>();
pitches.add("138");
pitches.add("129");

String one = pitches.get(0);  // 형 변환이 필요없다.
String two = pitches.get(1);  // 형 변환이 필요없다.
  • 더 편하게 생성하는 예 ```java import java.util.ArrayList; import java.util.Arrays;

public class Sample { public static void main(String[] args) { String[] data = {“138”, “129”, “142”}; // 이미 투구수 데이터 배열이 있다. ArrayList pitches = new ArrayList<>(Arrays.asList(data)); System.out.println(pitches); // [138, 129, 142] 출력 } }

- 더 편하게 생성하는 예 2
```java
import java.util.ArrayList;
import java.util.Arrays;

public class Sample {
    public static void main(String[] args) {
        ArrayList<String> pitches = new ArrayList<>(Arrays.asList("138", "129", "142"));
        System.out.println(pitches);
    }
}

String.join

  • 리스트 각 요소를 콤마로 구분해서 1개의 문자열로 만들기 ```java import java.util.ArrayList; import java.util.Arrays;

public class Sample { public static void main(String[] args) { ArrayList pitches = new ArrayList<>(Arrays.asList("138", "129", "142")); String result = String.join(",", pitches); System.out.println(result); // 138,129,142 출력 } }

### 리스트 정렬하기
```java
import java.util.Comparator;


pitches.sort(Comparator.naturalOrder());  // 오름차순으로 정렬

오름차순(순방향) 정렬 - Comparator.naturalOrder()
내림차순(역방향) 정렬 - Comparator.reverseOrder()

카테고리: ,

태그:

업데이트: