listsort.java

来自「list sort 接口实现」· Java 代码 · 共 116 行

JAVA
116
字号
/*
 * 嶌惉擔: 2006/06/16
 *
 * 偙偺惗惉偝傟偨僐儊儞僩偺憓擖偝傟傞僥儞僾儗乕僩傪曄峏偡傞偨傔
 * 僂傿儞僪僂 > 愝掕 > Java > 僐乕僪惗惉 > 僐乕僪偲僐儊儞僩
 */
package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Random;

/**
 * @author fengying
 *
 * 偙偺惗惉偝傟偨僐儊儞僩偺憓擖偝傟傞僥儞僾儗乕僩傪曄峏偡傞偨傔
 * 僂傿儞僪僂 > 愝掕 > Java > 僐乕僪惗惉 > 僐乕僪偲僐儊儞僩
 */
public class ListSort {
	class SortObject {
		private String code = null;
		private String name = null;
		
		/**
		 * @return
		 */
		public String getCode() {
			return code;
		}

		/**
		 * @return
		 */
		public String getName() {
			return name;
		}

		/**
		 * @param string
		 */
		public void setCode(String string) {
			code = string;
		}

		/**
		 * @param string
		 */
		public void setName(String string) {
			name = string;
		}

	}
	
	class ObjectByCodeComparator implements Comparator {

		/* (旕 Javadoc)
		 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
		 */
		public int compare(Object arg0, Object arg1) {
			// TODO 帺摦惗惉偝傟偨儊僜僢僪丒僗僞僽
			String str0 = ((SortObject)arg0).getCode();
			String str1 = ((SortObject)arg1).getCode();
			return str0.compareTo(str1);
		}
		
	}

	private List oList = null;
	/**
	 * @return
	 */
	public List getOList() {
		return oList;
	}

	/**
	 * @param list
	 */
	public void setOList(List list) {
		oList = list;
	}
	
	public void sortSortObject() {
		Collections.sort(getOList(), new ObjectByCodeComparator());
	}
	
	public static void main(String[] args) {
		Random oRandom = new Random();
		ListSort oListSort = new ListSort();
		List oList = new ArrayList();
		oListSort.setOList(oList);
		SortObject oSortObject = null;
		
		for (int i=0;i<10;i++) {
			oSortObject = oListSort.new SortObject();
			oSortObject.setCode(""+oRandom.nextInt());
			oSortObject.setName(""+oRandom.nextInt());
			oList.add(oSortObject);
		}
		for (int i=0;i<oList.size();i++) {
			oSortObject = (SortObject)oList.get(i);
			System.out.println(i+"="+oSortObject.getCode());
		}
		System.out.println("===================================");
		oListSort.sortSortObject();
		for (int i=0;i<oList.size();i++) {
			oSortObject = (SortObject)oList.get(i);
			System.out.println(i+"="+oSortObject.getCode());
		}
		
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?