logseg 20251201
This commit is contained in:
parent
73763242da
commit
6a1e7459d5
@ -1,3 +1,88 @@
|
||||
deck:: Logseq/coding tip
|
||||
|
||||
- ## **► 유틸 함수 모음**
|
||||
- ### **◼︎ 정렬함수 (Arrays.sort(), Collections.sort())**
|
||||
- **◉ Arrays.sort()**
|
||||
- **문법 및 기본 특징** #card
|
||||
id:: 692d5485-5781-449e-9e19-292d1343523b
|
||||
- ```java
|
||||
// 정적인 기본타입의 배열을 정렬 할 때 사용하는 함수, 원본배열을 변경함.
|
||||
// int[], char[], String[], T[]
|
||||
|
||||
|
||||
// 1. 전체 정렬 (모든 원소를 오름차순 정렬)
|
||||
Arrays.sort(arr);
|
||||
|
||||
// 2. 전체 정렬 (내림차순 정렬)
|
||||
// int[] 형은 지원 안함. 객체 배열(Integer[], String[] 혹은 클래스의 배열만 지원)
|
||||
Arrays.sort(arr, Collections.reverseOrder());
|
||||
```
|
||||
- **커스텀 정렬(Comparator)** #card
|
||||
id:: 692d5495-2c26-49c2-9585-fd0f1c27285f
|
||||
- ```java
|
||||
// 기본적으로 객체 배열만 가능
|
||||
// 매개변수로 람다식을 넣어서 정렬기준을 임의로 지정 가능함
|
||||
|
||||
Arrays.sort(arr, (a,b) -> b - a); //내림차순 정렬
|
||||
Arrays.sort(students, (s1, s2) -> Integer.compare(s1.score, s2.score)); // 점수 기준 오름차순
|
||||
Arrays.sort(students, (s1, s2) -> {
|
||||
if(s1.score == s2.score) return Integer.compare(s2.age, s1.age);
|
||||
return Integer.compare(s1.score, s2.score);
|
||||
}); // 점수 기준 오름차순, 점수가 같다면 나이 기ㄹ준 내림차순
|
||||
```
|
||||
- **◉ Collections.sort()**
|
||||
- **문법 및 기본 특징** #card
|
||||
id:: 692d58fc-1b8e-4d8f-ad72-514fc08d936f
|
||||
- ```java
|
||||
// List 인터페이스 구현체를 정렬할 때 사용
|
||||
// ArrayList, LinkedList, Vector 등등
|
||||
|
||||
// 1. 전체 정렬 (모든 원소를 기본 정렬기준에 따라 오름차순 정렬)
|
||||
Collections.sort(list);
|
||||
|
||||
// 2. 전체 정렬 (내림차순 정렬)
|
||||
Collections.sort(list, Collections.reverseOrder());
|
||||
```
|
||||
- **커스텀 정렬(Comparator)** #card
|
||||
id:: 692d5a74-e198-4be0-b6e4-ee17b5796b83
|
||||
- ```java
|
||||
// 매개변수로 람다식을 넣어서 정렬기준을 임의로 지정 가능함
|
||||
|
||||
Collections.sort(list, (s1, s2) -> Integer.compare(s1.length, s2.length));
|
||||
// 리스트에 저장된 각 원소의 길이에 따라 오름차순 정렬
|
||||
```
|
||||
- **◉ Comparable 정렬**
|
||||
- **문법** #card #depth-1
|
||||
id:: 692d5ce2-4655-4fad-bfaf-2021a0916e19
|
||||
- 클래스를 선언할 때 Comparable 인터페이스를 불러와서 선언함.
|
||||
- 클래스 내부에 public int compareTo() 함수를 오버라이딩해서 구현함.
|
||||
- 예제코드(Arrays.sort(), Collections.sort() 각각 사용) #card
|
||||
id:: 692d5dbe-6593-4a4f-93a7-8fa34b198e6f
|
||||
- ```java
|
||||
class Student implements Comparable<Student> {
|
||||
String name;
|
||||
int score;
|
||||
|
||||
public Student(String name, int score) {
|
||||
this.name = name;
|
||||
this.score = score;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Student o) {
|
||||
// 점수 기준 오름차순 (내 점수 - 남 점수)
|
||||
return Integer.compare(this.score, o.score);
|
||||
}
|
||||
}
|
||||
|
||||
// Arrays.sort() 사용
|
||||
Student[] students; // 알아서 배열 채워넣었다고 가정함.
|
||||
Arrays.sort(students);
|
||||
|
||||
// Collections.sort() 사용
|
||||
List<Student> students = new ArrayList<>(); // 알아서 채워넣었다고 가정
|
||||
Collections.sort(students);
|
||||
students.sort(Comparator.naturalOrder()); // java8 이후
|
||||
students.sort(); // 변수 없이 해도 가능
|
||||
```
|
||||
-
|
||||
@ -43,7 +43,7 @@
|
||||
- **② 전명구(on the grass.)가 존재한다. 즉 동사는 자동사이다.**
|
||||
- **③ 주어가 3인칭 단수이므로 동사가 현재시제였다면 s가 붙어야 한다.**
|
||||
- 자동사의 과거형이므로 -s가 붙지 않는다. 즉 **이 문장은 옳은 문장이다.**
|
||||
- <b>⋇ 정문 : She lay<span style="background-color:yellow">s</span> her baby.</b>
|
||||
- <b>⋇ 정문 : She lay on the grass.</b>
|
||||
- **해석 : 그녀는 잔디 위에 누었다.**
|
||||
- ### **● found vs. found**
|
||||
- **뜻**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user