Language/Java
컬렉션의 정리 , A와a의 순서 비교법 기본
원2
2021. 3. 31. 11:28
728x90
반응형
import java.util.Comparator;
class BookOne implements Comparator {
private String name;
private String autho;
private String pub;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} // private 이기 때문에 get set을 호출. name만 생성했기 때문에 name만 출력된다.
BookOne (String name, String autho, String pub) {
this. name = name;
this. autho = autho;
this. pub = pub;
}
@Override
public int compare(Object o1, Object o2) { // 추상클래스가 안되기 위해서 cpmpare을 오버라이드한다.
if (o1 instanceof BookOne && o2 instanceof BookOne) { // 여기에 전제는 BookOne이 되야한다.
BookOne aBookOne1 = (BookOne)o1;
BookOne aBookOne2 = (BookOne)o2;
int Temp = aBookOne1.name.charAt(0) - aBookOne2.name.charAt(0);
return Temp;
}
return 0;
}
}
public class Test001 {
public static void main(String[] args) {
BookOne[] aBookOne = new BookOne[] {
new BookOne ("호밀밭의 파수꾼", "홍길동", "스프링 1차"),
new BookOne ("밀밭의 파수꾼", "홍길", "스프링 2차"),
new BookOne ("호밭의 파수꾼", "홍동", "스프링 3차")
};
for (BookOne Temp : aBookOne) {
System.out.println(Temp.getName());
}
}
public static void main1(String[] args) {
String aString1 = "Apple"; // A 의 아스키 코드가 a의 아스키 코드보다 작다.
String aString2 = "Apple"; // 문자열의 비교 값이 같을 때.
String aString3 = "apple"; // A 의 아스키 코드가 a의 아스키 코드보다 작다.
String aString4 = "Apple"; // 문자열의 비교 값이 양수일 때.
String aString5 = "Apple"; // A 의 아스키 코드가 a의 아스키 코드보다 작다.
String aString6 = "apple"; // 문자열의 비교 값이 음수일 때.
int iRetsult = aString1.compareTo(aString2); // String 내부에compareTo가 상속되어있음
System.out.println(iRetsult);
iRetsult = aString3.compareTo(aString4); // String 내부에compareTo가 상속되어있음
System.out.println(iRetsult);
iRetsult = aString5.compareTo(aString6); // String 내부에compareTo가 상속되어있음
System.out.println(iRetsult);
}
// a 문자열과 b 문자열을 비교할 때 첫번째자리에서 비교 , a열의 첫 글자 - b 열의 첫 글자 = ?
// if 첫글자가 같다면 두번째 자리를 비교, 같다? 세번째 ....이런식.
}
728x90
반응형