> Java > java지도 시간 > 본문

자바 벡터 정렬

WBOY
풀어 주다: 2024-08-30 15:30:31
원래의
433명이 탐색했습니다.

Java Vector Sort는 지정된 Comparator의 순서에 따라 벡터를 정렬하는 데 사용되는 Java Vector Class의 방법입니다. Java의 Vector는 요소 삽입 순서를 유지하므로 sort(,) 메소드를 사용하여 요소를 오름차순 또는 내림차순으로 정렬합니다. Sort() 메소드는 Collections 클래스의 일부입니다. 벡터 요소는 Comparable 및 Comparator를 사용하여 정렬할 수도 있습니다. 배열과 마찬가지로 Vector도 정수 인덱스를 사용하여 액세스할 수 있는 요소를 포함하는 성장 가능한 객체입니다. 벡터가 생성된 후 요소를 추가하거나 제거하여 벡터의 크기를 늘리거나 줄일 수 있습니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문:

아래는 sort() 메소드의 선언으로 사용됩니다.

public void sort(Comparator<? super E> c);
로그인 후 복사

필수 인수 'c'는 벡터 요소를 비교하는 데 사용되는 비교자입니다. 메서드에 반환 유형이 void

인 경우 아무것도 반환하지 않습니다.

예외는 없으며 Java 1.2 버전 이상에서 호환됩니다

비교기를 사용하여 벡터를 정렬하는 단계

  • 벡터 객체 생성
  • add 메소드(요소 e)를 사용하여 벡터에 요소 추가
  • Collections.sort를 사용하여 벡터 객체 정렬
  • 정렬된 요소 목록 표시

Java 벡터 정렬의 예

아래에 언급된 예시는 다음과 같습니다

예시 #1

Collections.sort()를 사용하는 간단한 벡터 정렬()

코드:

import java.util.Vector;
import java.util.Collections;
public class SortJavaVectorExample {
public static void main(String[] args) {
Vector vector = new Vector();
vector.add("10");
vector.add("31");
vector.add("52");
vector.add("23");
vector.add("44");
System.out.println("Vector elements before sorting: ");
for(int x=0; x<vector.size(); x++)
System.out.println(vector.get(x));
Collections.sort(vector);
System.out.println("Sorted Vector elements in ascending order: ");
for(int y=0; y<vector.size(); y++)
System.out.println(vector.get(y));
}
}
로그인 후 복사

출력:

자바 벡터 정렬

벡터를 선언하고 벡터에 요소를 추가하고 정렬하지 않고 요소를 인쇄하면 동일한 삽입 순서가 유지됩니다. for 루프를 사용하여 get(x)는 인덱스 x에서 요소를 가져옵니다

Collections.sort()는 벡터 요소를 오름차순으로 정렬하고 for 루프를 사용하여 표시합니다.

예시 #2

알파벳순 벡터 정렬

코드:

import java.util.*;
public class VectrSort {
public static void main(String arg[]) {
Vector < String > v = new Vector < String > ();
v.add("Dragon Fruit");
v.add("Apple");
v.add("Watermelon");
v.add("Orange");
v.add("Strawberry");
System.out.println("Elements of Vector are: ");
for (String fruit: v) {
System.out.println("  "+fruit);
}
Collections.sort(v);
System.out.println("Vector elements after sorting are: ");
for (String fruit : v) {
System.out.println("  "+fruit);
}
}
}
로그인 후 복사

출력:

자바 벡터 정렬

벡터 요소를 내림차순으로 정렬합니다. 즉, Collections 클래스의 reverseOrder() 메서드를 호출해야 하며 이는 자연스럽게 벡터 요소의 역순을 적용합니다.

예시 #3

벡터 요소를 역순으로 정렬

코드:

import java.util.Vector;
import java.util.Comparator;
import java.util.Collections;
public class reverseSortArray {
public static void main(String[] args) {
Vector v = new Vector();
v.add("ColorRed");
v.add("ColorYellow");
v.add("ColorBlue");
v.add("ColorBlack");
v.add("ColorOrange");
v.add("ColorGreen");
System.out.println("Vector Elements before sorting :");
for(int x=0; x < v.size(); x++)
System.out.println(v.get(x));
Comparator comparator = Collections.reverseOrder();
Collections.sort(v,comparator);
System.out.println("Vector Elements after reverse sorting :");
for(int x=0; x < v.size(); x++)
System.out.println(v.get(x));
}
}
로그인 후 복사

출력:

자바 벡터 정렬

여기서 벡터 요소는 알파벳 기준으로 내림차순으로 정렬되어 있습니다.

사용자 정의 클래스 개체의 벡터 요소 정렬을 살펴보겠습니다.

위에서 언급한 Collections.sort() 메서드는 요소 클래스가 비교 가능한 인터페이스를 구현하는 경우에만 작동합니다. 구현하지 않으면 컴파일 오류가 발생합니다.

여기에서는 사용자 정의 클래스가 비교 인터페이스를 어떻게 구현하는지 살펴보겠습니다.

예시 #4

사용자 정의 클래스 개체에 대한 벡터 정렬.

코드:

import java.util.Collections;
import java.util.Vector;
class Employee implements Comparable<Employee>{
private int empid;
public Employee(int empid){
this.empid = empid;
}
public String toString(){
return "Employee[" + this.empid + "]";
}
public int getempId(){
return this.empid;
}
public int compareTo(Employee otherEmployee) {
return this.getempId() - otherEmployee.getempId();
}
}
public class EmployeeSortVector {
public static void main(String[] args) {
Vector<Employee> vEmp = new Vector<Employee>();
vEmp.add(new Employee(110));
vEmp.add(new Employee(121));
vEmp.add(new Employee(102));
vEmp.add(new Employee(145));
vEmp.add(new Employee(1));
Collections.sort(vEmp);
System.out.println(vEmp);
}
}
로그인 후 복사

출력:

자바 벡터 정렬

위의 요소를 역순으로 정렬하려면 reverseComparator를 사용합니다.

Collections.sort(vEmp, Collections.reverseOrder())
로그인 후 복사

사용자 정의 비교기를 사용하여 사용자 정의 클래스 객체를 정렬할 수도 있습니다. 이전에는 Comparable Interface가 어떻게 구현되는지 살펴보았습니다. 이제 클래스 객체에 대한 사용자 정의 비교기를 생성하겠습니다.

예시 #5

Custom Comparator를 사용한 사용자 정의 클래스 객체의 벡터 정렬

코드:

import java.util.Collections;
import java.util.Comparator;
import java.util.Vector;
class Employee{
private int empid;
public Employee(int empid){
this.empid = empid;
}
public String toString(){
return "Employee[" + this.empid + "]";
}
public int getempId(){
return this.empid;
}
}
class EmployeeComparator implements Comparator<Employee>{
public int compare(Employee emp1, Employee emp2) {
return emp1.getempId() - emp2.getempId();
}
}
class EmployeeComparatorDesc implements Comparator<Employee>{
public int compare(Employee emp1, Employee emp2) {
return emp2.getempId() - emp1.getempId();
}
}
public class SortJavaVectorExample {
public static void main(String[] args) {
Vector<Employee> vEmp = new Vector<Employee>();
vEmp.add(new Employee(346));
vEmp.add(new Employee(111));
vEmp.add(new Employee(211));
vEmp.add(new Employee(533));
vEmp.add(new Employee(211));
vEmp.add(new Employee(25));
Collections.sort(vEmp, new EmployeeComparator());
System.out.println(vEmp);
Collections.sort(vEmp, new EmployeeComparatorDesc());
System.out.println(vEmp);
}
}
로그인 후 복사

출력:

자바 벡터 정렬

이상으로 'Java 벡터 정렬' 주제를 마치겠습니다. 우리는 Java에서 벡터 정렬이 무엇이며 어떻게 구현되는지 살펴보았습니다. 필수 인수가 포함된 구문도 설명되어 있습니다. 또한 벡터 정렬이 수행되는 방법에 대해 논의하고 모든 유형의 예제인 Collections.sort()를 사용하여 오름차순으로 정렬하고 Collections.reverseOrder() 메서드를 사용하여 내림차순으로 정렬하는 방법을 살펴보았습니다. 또한 Comparable을 사용하여 사용자 정의 클래스 객체를 정렬하고 사용자 정의 클래스 객체에 대한 비교 항목을 사용자 정의했습니다. 주제의 최대 영역을 다루었기를 바랍니다. 감사해요! 즐거운 학습!

위 내용은 자바 벡터 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!