리스트는 배열과 비슷하지만 더 편리한 기능을 가지고 있음
ex) 리스트는 크기가 변할 수 있다. (정해져 있지 않음)
ArrayList Vector LinkedList 등이 있다.
import java.util.ArrayList;
ArrayList 객체이름 = new ArrayList()
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");
}
}
pitches.add(1, "133"); // 1번 인덱스에 133 추가
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));
}
}
// 129
System.out.println(pitches.size()); // 3
System.out.println(pitches.contains("142"); // true
System.out.println(pitches.remove("129")); // 129 삭제하고 true 반환
System.out.println(pitches.remove(0)); // 138 삭제하고 138 반환
// 제네릭스를 이용하지 않은 경우
ArrayList pitches = new ArrayList();
pitches.add("138");
pitches.add("129");
String one = (String) pitches.get(0);
String two = (String) pitches.get(1);
// 형 변환 오류가 발생할 수 있음
// 제네릭스를 이용한 경우
ArrayList<String> pitches = new ArrayList<>();
pitches.add("138");
pitches.add("129");
String one = pitches.get(0); // 형 변환이 필요없다.
String two = pitches.get(1); // 형 변환이 필요없다.
// pitches에는 반드시 String 자료형만 추가되어야 한다는 것을 컴파일러가 이미 알기 때문에 자료형 변환 불필요
import java.util.ArrayList;
import java.util.Arrays; // import 필요
public class Sample {
public static void main(String[] args) {
String[] data = {"138", "129", "142"}; // 이미 투구수 데이터 배열이 있다.
ArrayList<String> pitches = new ArrayList<>(Arrays.asList(data));
System.out.println(pitches); // [138, 129, 142] 출력
}
}
혹은
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 result = String.join(",", pitches); // 138,129,142
...
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator; // import
public class Sample {
public static void main(String[] args) {
ArrayList<String> pitches = new ArrayList<>(Arrays.asList("138", "129", "142"));
pitches.sort(Comparator.naturalOrder()); // 오름차순으로 정렬
System.out.println(pitches); // [129, 138, 142] 출력
}
}