JAVA 정렬, 작은 Vector
1626 단어 JAVA 학습 소감
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;
}
이런 두 가지 방식을 통해 정렬 문제를 만족시킬 수 있다.