얼렁뚱땅 자바이야기
[JAVA] Comparator, Comparable 사용해서 객체 정렬해주기
MOSTAR
2023. 3. 13. 16:58
....... 살려주세요 .......
제발 파이썬 좀 열어주세요렁라 ㅓ아루어우우유유융류ㅜ어루넝루넝
ㅇ뤔우러워유ㅜㅇ우우유유유어루어루어루얼
ㅇ뤙뤈우란어루ㅏ머ㅜ이라ㅓ무아러ㅜㅁ아ㅓ룽ㄹ'ㄴ월
ㅁ우러ㅏㅁㄴ우러누아러우러우렁류어류어류
import java.util.*;
import java.io.*;
class Shape {
String shape;
int size;
Shape(String shape, int size) {
this.shape = shape;
this.size = size;
}
}
public class 사용자지정_Sort {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList <Shape> arr = new ArrayList<>();
arr.add(new Shape("Triangle",3));
arr.add(new Shape("Square", 5));
arr.add(new Shape("Circle",7));
arr.add(new Shape("Triangle",8));
arr.add(new Shape("Square",7));
Collections.sort(arr, new Comparator<Shape>() {
// 음수일 때 : 앞으로 정렬, 양수일 때 : 뒤로 정렬
@Override
public int compare(Shape s1, Shape s2) {
// TODO Auto-generated method stub
int compareResult = s1.shape.compareTo(s2.shape);
if(compareResult<0) {
return -1;
} else if(compareResult>0) {
return 1;
} else {
if(s1.size<s2.size) {
return -1;
} else {
return 1;
}
}
}
});
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i).shape + " "+arr.get(i).size);
}
}
}
import java.util.*;
import java.io.*;
class new_shape implements Comparable<new_shape>{
String shape;
int size;
new_shape(String shape, int size) {
this.shape = shape;
this.size = size;
}
@Override
public int compareTo(new_shape obj) {
// TODO Auto-generated method stub
if(this.shape.compareTo(obj.shape)<0) {
return -1;
} else if(this.shape.compareTo(obj.shape)>0) {
return 1;
} else {
if(this.size<obj.size) {
return -1;
} else {
return 1;
}
}
}
}
public class 사용자지정_Sort2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList <new_shape> arr = new ArrayList<new_shape>();
arr.add(new new_shape("Triangle",3));
arr.add(new new_shape("Square", 5));
arr.add(new new_shape("Circle",7));
arr.add(new new_shape("Triangle",8));
arr.add(new new_shape("Square",7));
Collections.sort(arr);
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i).shape + " "+arr.get(i).size);
}
}
}