[JAVA] 점프 투 자바 #7 리스트
[JAVA - 점프 투 자바 #7]
리스트
리스트는 배열과 비슷하지만 편리한 기능이 많다 (그냥 php 배열이라고 생각하면 됌)
배열의 크기는 10개로 정했다면 10개를 초과하는 값을 담을 수 없지만 리스트는 크기가 정해져 있지 않아 원하는 만큼 값을 담을 수 있다.
- ArrayList
- add
- get
- size
- contains
- remove
- 제네릭스
- 다양한 방법으로 ArrayList 만들기
- String.join
- 리스트 정렬하기
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
- 더 편하게 생성하는 예 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
### 리스트 정렬하기
```java
import java.util.Comparator;
pitches.sort(Comparator.naturalOrder()); // 오름차순으로 정렬
오름차순(순방향) 정렬 - Comparator.naturalOrder()
내림차순(역방향) 정렬 - Comparator.reverseOrder()
댓글