ποΈ Backend/Java
μλ°(Java) - API ν΄λμ€ (7) Arrays ν΄λμ€
kongmi
2023. 1. 27. 19:44
λ€μ΄κ°κΈ°μ μμ..
java.util ν¨ν€μ§
- java.util ν¨ν€μ§μλ νλ‘κ·Έλ¨μ κ°λ°νλ λ° μ¬μ©ν μ μλ μ μ©ν μ νΈλ¦¬ν° ν΄λμ€κ° λ€μ ν¬ν¨λμ΄ μμ
- μ€μ λ‘ java.lang ν¨ν€μ§ λ€μμΌλ‘ κ°μ₯ λ§μ΄ μ¬μ©νλ ν¨ν€μ§
- importλ¬Έμ μ¬μ©νμ§ μμλ μ¬μ©ν μ μλ java.langκ³Ό λ¬λ¦¬ java.util ν¨ν€μ§λ import λ¬ΈμΌλ‘ ν¨ν€μ§λ₯Ό λΆλ¬μμΌ ν΄λμ€ μ΄λ¦λ§ μ¬μ© κ°λ₯
java.util.Arrays ν΄λμ€
- Arrays ν΄λμ€μλ λ°°μ΄μ λ€λ£¨κΈ° μν λ€μν λ©μλκ° ν¬ν¨λμ΄ μμ
binarySearch() λ©μλ
- μ΄λΆ κ²μ μκ³ λ¦¬μ¦(λ°μ© λ²μλ₯Ό μͺΌκ°λ©° κ²μ) μ¬μ©νκΈ° λλ¬Έμ μ λ ¬(sort())μ΄ λμ΄ μμ΄μΌ ν¨!!
- ν΄λΉ μμΉ λ°ν
πΈ sort() λ©μλ
μ€λ¦ μ°¨μ μ λ ¬
- sort() λ©μλλ μ λ¬λ°μ λ°°μ΄μ λͺ¨λ μμλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬ν©λλ€.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {5,1,2,3,4};
Arrays.sort(arr);
for(int e : arr) System.out.print(e + " ");
}
}
1 2 3 4 5
β λ΄λ¦Ό μ°¨μ μ λ ¬
compare() μ€λ²λΌμ΄λ© ν΄μ μ¬μ©
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Integer[] arr = {5,1,2,3,4};
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if(o1 < o2) return 1;
return -1;
}
});
for(int e : arr) System.out.print(e + " ");
}
}
5 4 3 2 1
asList() λ©μλ
- μΌλ° λ°°μ΄μ ArrayListλ‘ λ³ν
List<int[]> list = Arrays.asList(arr);
π‘ μ°μ΅λ¬Έμ
- λ°°μ΄μ κ°―μ μ λ ₯
- μ°Ύμ μ μ λ ₯
- λ°°μ΄μ μμλ₯Ό
λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬νκ³ , μ°Ύμ μμ μΈλ±μ€ μΆλ ₯νλΌ. - λ°°μ΄μ μμλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬ ν μ°Ύμ μμ μΈλ±μ€λ₯Ό μΆλ ₯νλΌ.
λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬ ν μ€ννλ©΄ νλ¦° κ°μ΄ κ³μ μΆλ ₯λλ λ¬Έμ λ°κ²¬!
μμ보λ..binarySearch()λ μ€λ¦μ°¨μμΌλ‘ μ λ ¬λ λ°°μ΄μμ ν€ κ°μ μ°Ύλλ€κ³ ν¨.
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int key = sc.nextInt();
Integer[] arr = new Integer[num];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * num) + 1;
}
Arrays.sort(arr);
for(int e : arr) System.out.print(e + " ");
System.out.println();
int rst = Arrays.binarySearch(arr,key);
if(rst >= 0)System.out.println("μΈλ±μ€ : " + rst);
else System.out.println("μ°Ύλ κ°μ΄ μμ΅λλ€.");
}
}
10
5
1 3 4 5 5 6 7 8 9 10
μΈλ±μ€ : 4
π‘ μ°μ΅λ¬Έμ 2
- μμμ κ³ΌμΌ μ΄λ¦ 10κ°μ λ°°μ΄ μμ±
- κΈΈμ΄ μμΌλ‘ μ λ ¬νκ³ , κΈΈμ΄κ° κ°μΌλ©΄ μ¬μ μμΌλ‘ μ λ ¬ ν μΆλ ₯νλΌ
(compareTo() λ©μλ μ¬μ©)
import java.util.Arrays;
import java.util.Comparator;
public class Practice {
public static void main(String[] args) {
String[] fruit = {"cherry", "banana", "pear", "lemon", "watermelon", "orange", "apple",
"blueberry", "strawberry", "tomato"};
Arrays.sort(fruit, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if(o1.length() > o2.length()) return 1;
else if(o1.length() == o2.length()) return o1.compareTo(o2);
return -1;
}
});
for(String e : fruit) System.out.print(e + " ");
}
}
pear apple lemon banana cherry orange tomato blueberry strawberry watermelon
μμκ°μ΄λ©΄ ν μν μ μ§, μμλ©΄ μ λ ¬νλΌ..λ₯Ό μ΄μ©ν΄μ returnλ¬Έ μ‘°μ
πΈ compareTo() μ°μ΅
public class Main {
public static void main(String[] args) {
String test = "abcd";
System.out.println(test.compareTo("ab"));
System.out.println(test.compareTo("abcd"));
System.out.println(test.compareTo("abcdefg"));
2
0
-3
λΉκ΅νλ κ°μ΄ μμΌλ©΄ μμ
λΉκ΅νλ κ°κ³Ό κ°μΌλ©΄ 0
λΉκ΅νλ κ°μ΄ ν¬λ©΄ μμ