티스토리 뷰

반응형
Vector 에 들어 있는 원소를 정렬하는 방식은 자바의 Vector와 C++ STL의
vector가 비슷 합니다. 표현의 방식이 다를 뿐이죠.
자바에서는 아래와 같은 순서로 하시면 됩니다. 1. 비교자 Comparator 구현 : Comparator 인터페이스를 상속받아 구현합니다. 예제는 아래에 있습니다. 2. Collections.sort(정렬할 벡터,Comparator 인스턴스); -- 예제 --- Member 클래스에 이름과 나이를 저장한 후 이를 Vector에 넣고 나이의
오름 차순으로 정렬하는 예제 입니다. 내림차순으로 할때는 Comparator 부분에서 리턴값만 바꿔주면 됩니다. package com; import java.util.Comparator; import java.util.Vector; import java.util.Collections;
public class VectorSort {
public static void main(String[] args){ Vector m = new Vector(); Member m1 = new Member(); m1.name = "홍길동"; m1.age = 30; m.add(m1); m1 = new Member(); m1.name = "김문선"; m1.age = 20; m.add(m1); m1 = new Member(); m1.name = "진용"; m1.age = 24; m.add(m1); Collections.sort(m, new MemberComparator()); for(int i=0; i< m.size(); i++ ){ Member mm = (Member)m.get(i); System.out.println("이름 = "+mm.name+" 나이 = "+mm.age); } } }



class Member{ public String name; public int age; } class MemberComparator implements Comparator{ public int compare(Object arg0, Object arg1) { return ((Member)arg0).age > ((Member)arg1).age ?1:0; } }



반응형