JAVA 배열 비교 정렬

3174 단어 자바

JAVA 배열 의 비교 정렬 은 Comparable 인 터 페 이 스 를 실현 하고 그 중의 compare To 방법 을 실현 해 야 compare To 로 비교 하거나 Arrays.sort(array Obj)로 정렬 할 수 있 습 니 다.
/**     	        
 * @author llm
 *
 */
public class Employee implements Comparable<Employee>
{
	/**
	 * 	  
	 */
	private String name;
	
	/**
	 *	   
	 */
	private float money;
	
	/**    
	 * @param name
	 * @param money
	 */
	Employee(String name,float money)
	{
		this.name=name;
		this.money=money;
	}
	
	/**
	 *       
	 */
	public void showEmployeeMessage()
	{
		System.out.println("  :"+name+",  :"+money);
	}
	
	
	//         
	@Override
	public int compareTo(Employee anotherOne)
	{
		if(money > anotherOne.getMoney())
		{
			return 1;
		}else if(money < anotherOne.getMoney())
		{
			return -1;
		}
		return 0;
	}


	public String getName()
	{
		return name;
	}



	public void setName(String name)
	{
		this.name = name;
	}



	public float getMoney()
	{
		return money;
	}



	public void setMoney(float money)
	{
		this.money = money;
	}

}

이것 은 copare To 인 터 페 이 스 를 실현 한 직원 류 로 비교 하고 정렬 할 수 있 습 니 다.테스트 클래스:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**     
 * @author CXY
 */
public class EmployeeTest
{
	public static void main(String[] args) throws Exception
	{
		Employee[] employeeA=new Employee[3];
		
		employeeA[0]=new Employee("  ", 5000.5f);
		employeeA[1]=new Employee("  ", 8000.8f);
		employeeA[2]=new Employee("  ", 5000.6f);
		
		System.out.println("     :");
		for(Employee one:employeeA)
		{
			one.showEmployeeMessage();
		}
		
		Arrays.sort(employeeA);
		
		System.out.println("=====================");
		System.out.println("     :");
		for(Employee one:employeeA)
		{
			one.showEmployeeMessage();
		}
		
		System.out.println("=====================");
		if(employeeA[1].compareTo(employeeA[0])==1)
		{
			System.out.println(employeeA[1].getName()+" "+employeeA[0].getName()+"   ");
		}else if(employeeA[1].compareTo(employeeA[0])==-1)
		{
			System.out.println(employeeA[1].getName()+" "+employeeA[0].getName()+"   ");
		}else
		{
			System.out.println(employeeA[1].getName()+" "+employeeA[0].getName()+"    ");
		}
		
		System.out.println("===============    ===============");
		
		
	}
	
}

compare To 의 실현 방식:     x.compare To(y)를 예 로 들 면 x 가 y 보다 작 을 때 음 수 를 되 돌려 줍 니 다.x 가 y 보다 클 때 정 수 를 되 돌려 줍 니 다.같다

좋은 웹페이지 즐겨찾기