소프트웨어 개발/Java - Basic

compareTo() 구현

늘근이 2014. 10. 8. 10:33

package first;


import java.util.ArrayList;

import java.util.Collections;

import java.util.List;


public class CompareToTest {

public static void main(String[] args) {

Car c1 = new Car("페라리",5000);

Car c2 = new Car("산타페",3000);

Car c3 = new Car("그랜저",4000);

List<Car> carList = new ArrayList<Car>();

carList.add(c1);

carList.add(c2);

carList.add(c3);

System.out.println(carList);

Collections.sort(carList);

System.out.println(carList);

}

}


class Car implements Comparable<Car>{

String name;

int price;

public Car(String name, int price) {

super();

this.name = name;

this.price = price;

}

public Car() {

super();

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getPrice() {

return price;

}

public void setPrice(int price) {

this.price = price;

}

@Override

public String toString() {

StringBuilder builder = new StringBuilder();

builder.append("Car [name=");

builder.append(name);

builder.append(", price=");

builder.append(price);

builder.append("]");

return builder.toString();

}

@Override

public int compareTo(Car o) {

return this.price - o.price;

}

}


즉 Collections.sort(구현한리스트)하면된다


스트링값을 기준으로 하고싶다면 다음과같이 쓴다

return this.name.compareTo(o.name);

'소프트웨어 개발 > Java - Basic' 카테고리의 다른 글

메모리누수  (0) 2014.10.13
3일차 자바교육  (0) 2014.10.08
iterator사용법  (0) 2014.10.08
main에서 일반함수를 쓰지 못하는 경우는 왜  (0) 2014.09.18
eclipse perspective이상해져서 지저분할때  (0) 2014.09.17