JAVA 정렬, 작은 Vector

1626 단어 JAVA 학습 소감
최근에 프로젝트에서 Vector를 사용하지만 정렬을 해야 합니다. 첫 번째 방법은Comparator를 다시 쓸 수 있습니다. 이 방법에서 이 대상을 구체적으로 비교할 가치가 있습니다.코드는 다음과 같습니다.
    
public class MyCompare implements Comparator {

	public int compare(Object o1, Object o2) {
		Elem e1 = (Elem) o1;
		Elem e2 = (Elem) o2;

		if (e1.get() > e2.get())//        ,   -1  1    .
		{
			return 1;
		} else if (e1.get() < e2.get()) {
			return -1;
		} else {
			return 0;
		}
	}
}
비교 방법을 다시 쓴 후 JAVA 자체 함수를 호출합니다.java.util.Arrays.sort(vector,compare);.이 방법을 통해 순서를 정할 수 있다.이것도 매우 통용되는 것이다.
내 코드는 전송값의 수요를 충족시키지 못하기 때문에 대상의 비교가 아니라 방법을 통해 호출하고 크기를 비교하여 정렬을 한다.다음과 같은 방법을 사용합니다.
   
Vector numbers = new Vector();
		// Vector numbers1 = new Vector();
		numbers.add(new Elem(1));
		numbers.add(new Elem(22));
		numbers.add(new Elem(3));
		numbers.add(new Elem(14));
		Elem[] arr = new Elem[numbers.size()];
		numbers.copyInto(arr);
		Elem[] str = getSort(arr);
		for (int i = 0; i < str.length; i++) {
			System.out.println(str[i].get());
		}
위쪽이 주된 방법입니다.먼저 Vector를 배열로 변환하고 Vector를 호출합니다.copyInfo().Vector를 배열로 변환한 다음 거품 정렬을 해서 가장 작은 값을 찾은 다음 교환합니다.코드는 다음과 같습니다.
 
public static Elem[] getSort(Elem[] keys) {

		for (int i = 0; i < keys.length - 1; i++) {
			for (int j = 0; j < keys.length - i - 1; j++) {
				Elem pre = keys[j];
				Elem next = keys[j + 1];
				if (pre.get() > next.get()) {
					Elem temp = pre;
					keys[j] = next;
					keys[j + 1] = temp;
				}
			}
		}
		return keys;
	}
이런 두 가지 방식을 통해 정렬 문제를 만족시킬 수 있다.

좋은 웹페이지 즐겨찾기