Java TreeSet을 이용한 정렬(Comparable 구현)

java.util.TreeSet 패키지 이용

Featured image
Collection    
List 순서있음, 중복가능 Vector, ArrayList, LinkedList
Set 순서있음, 중복불가능 HashSet, Linked HashSet, SortedSet, TreeSet
Map Key, 와 Value값을 지님 HashTable, HashMap, SortedMap, TreeMap

Import Package Lists

import java.util.Iterator;
import java.util.TreeSet;

소스 코드

public class ComparableExam {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// TreeSet에 객체 저장시 Comparable를 필수로 구현 해야 한다.
		// 이는 오름차순 으로 정렬 된다.
		TreeSet<Person> treeSet = new TreeSet<Person>();
		
		treeSet.add(new Person("신", 25));
		treeSet.add(new Person("김", 21));
		treeSet.add(new Person("박", 27));
		treeSet.add(new Person("최", 8));
		treeSet.add(new Person("이", 24));
		
		Iterator<Person> it = treeSet.iterator();
		
		while (it.hasNext()) {
			Person person = (Person) it.next();
			
			String name = person.getName();
			int age = person.getAge();
			System.out.println(name + "/" + age);
		}
	}
}

Person Class

public class Person implements Comparable<Person>{

	private String name;
	private int age;
	
	public Person() {
		// TODO Auto-generated constructor stub
	}
	
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	
	@Override
	public int compareTo(Person o) {
		
		if (age < o.age) {
			return -1;
		} else if(age == o.age) {
			return 0;
		} else {
			return 1;
		}
	}
	
	public int getAge() {
		return age;
	}
	
	public String getName() {
		return name;
	}
}