ファイル名、変更時間、ファイルサイズでソート


1.ファイル名で並べ替え、中国語名はピンインの頭文字、すなわちA-Zである.
/**
	 *         ( A Z)
	 */
	private static class CompratorByFileName implements Comparator<File>{

		@Override
		public int compare(File lhs,
				File rhs) {
			Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
			return cmp.compare(lhs.name , rhs.name);
		}
		
		@Override
		public boolean equals(Object o) {
			return true;
		}
		
	}

2.古いものから新しいものまで、ファイルの変更時間順に並べ替えます.
/**
	 *           (    )
	 * 
	 */
	private static class CompratorByFileTime implements
			Comparator<File> {
		@Override
		public int compare(File file1,
				File file2) {
			int diff = 0;
			try {
				diff = file1._rev.compareTo(file2._rev);
			} catch (NullPointerException e) {
				diff = 1;
			}
			if (diff > 0) {
				return 1;
			} else if (diff == 0) {
				return 0;
			} else {
				return -1;
			}
		}

		@Override
		public boolean equals(Object o) {
			return true;
		}

	}

3.ファイルサイズで並べ替え、小さいものから大きいものまで:
/**
	 *        (    )
	 */
	private static class CompratorByFileSize implements Comparator<File>{

		@Override
		public int compare(File lhs,
				File rhs) {
			if (lhs._size > rhs._size) {
				return 1;
			} else if (lhs._size == rhs._size) {
				return 0;
			} else {
				return -1;
			}
		}
		
		@Override
		public boolean equals(Object o) {
			return true;
		}
	}

最後にファイルリストfileList:
Collections.sort(fileList, new CompratorByFilexxxx());

リストの逆順:
Collections.reverse(fileList);