import java.util.Arrays;
int[] arr = new int[5]; // 크기가 5인 배열 생성 {0, 0, 0, 0, 0}
...
<정렬>
Arrays.sort(arr) // 오름차순 정렬
Arrays.parallelSort(arr)
Arrays.sort(arr, Collections.reverseOrder()); // 내림차순 정렬
arr[1] = 0 // arr 배열의 첫번째 원소 값
<원소의 개수>
Collections.frequency(Arrays.asList(arr), "0") -> 5
// 배열 자체에서 지워하지 않기 때문에 리스트로 바꿔서 0 원소의 개수 세기
<값 검색>
Arrays.asList(arr).indexOf(0) // 리스트로 변경 후 0의 인덱스 검색
import java.util.List;
import java.util.ArrayList;
#
List<Object> list = new ArrayList<>(); // 더 유연해짐
List<Object> list = new LinkedList<>();
#
ArrayList<Integer> names = new ArrayList<>();
<함수>
names.add(3);
names.add(4)
names.offer(5); // 값 넣어주기 {3, 4, 5}
names.poll(); // 맨 마지막 값 반환 후 제거 5, {3, 4}
names.peek(); // 4, {3, 4}
names.get(0) // 0번째 값 도출 -> 3
<정렬>
Collections.sort(names) // 오름차순으로 정렬
-> {3, 4}
Collections.sort(names, Collections.reverseOrder()); // 내림차순 정렬
-> {4, 3}
<원소의 개수>
Collections.frequency(names, 3) -> 1 // 3이란 원소의 개수 하나
<값 검색>
names.contain(3); // 3이 ArrayList에 저장되어 있는지. 있으면 true 리턴
names.indexOf(3); // 3이 저장되어 있는 위치 리턴. 없으면 -1 리턴
import java.util.Set;
Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("kiwi"); // {"apple", "banana", "kiwi"}
set.remove("apple"); // {"banana", "kiwi"}
<데이터 출력>
Iterator<String> iterSet = set.iterator();
while (iterSet.hasNext()) {
System.out.print(iterSet.next()) + " ");
}
// banana kiwi -> 각 데이터를 조작할 때
System.out.println(set.toString());
// {banana, kiwi} -> 단순히 확인할 때
<값 포함, 존재 유무>
set.contains("apple"); // false
set.contains("kiwi"); // true
set.isEmpty(); // false
1. Array -> Set
// HashSet의 생성자 파라미터로 List 넘겨줌 (배열을 리스트로 변환해서)
Integer[] arr = {1, 1, 2, 3, 4};
Set<Integer> set = new HashSet<>(Arrays.asList(arr));
System.out.println(set) // [1, 2, 3, 4]
2. Set -> Array
// Set객체의 toArray() 메소드를 이용하면, Set객체를 배열로 변환 가능
// 파라미터로는 변환될 배열 객체를 넘겨주면 되는데
// 배열의 크기를 0으로 지정하면 자동으로 배열의 크기가 지정됨
Set<Integer> set = new HashSet<>(Arrays.asList(1, 2, 3, 4));
Integer[] arr = set.toArray(new Integer[0]);
// Integer[] arr = new Integer[set.size()];
// set.toArray(arr); -> 이 두 줄을 한줄로
System.out.println(Arrays.toString(arr)) // [1, 2, 3, 4]
Guava 활용 변환
implementation("com.google.guava:guava:28.2-jre")
변환
1. List -> Set
List<Integer> list = Arrays.asList(0, 1, 2, 3, 4);
Set<Integer> set = new HashSet<>(list);
// 생성인자 파라미터로 list 전달
`Guava`
Set<Integer> guavaSet = Sets.newHashSet(list);
// Guava 활용 변환
2. Set -> List
Set<Integer> set = new HashSet<>(Arrays.asList(0, 1, 2, 3, 4));
List<Integer> list = new ArrayList<>(set);
// 생성인자 파라미터로 set 전달
// `Guava` 활용 변환 가능, Lists 사용
List, Arraylist
Arraylist
LinkedList
리스트와 배열 차이
배열 sorting
HashSet
Array<->Set
List<->Set