日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Arraylist 如何使用 Comparator排序

發布時間:2023/12/20 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Arraylist 如何使用 Comparator排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java Arraylist 如何使用 Comparator排序import java.util.ArrayList;?

import java.util.Collections; import java.util.Comparator;public class Sort implements Comparator<String> {private final static int UP = 1;private final static int DOWM = -1;private int state;public Sort(int state) {this.state = state;}public Sort() {}public int compare(String o1, String o2) {if (state == Sort.DOWM) {return sortDown(o1, o2);}return sortUp(o1, o2);}private int sortUp(String o1, String o2) {if (o1.compareTo(o2) < 0) {return -1;} else if (o1.compareTo(o2) > 0) {return 1;} else {return 0;}}private int sortDown(String o1, String o2) {if (o1.compareTo(o2) > 0) {return -1;} else if (o1.compareTo(o2) < 0) {return 1;} else {return 0;}}public static void main(String[] args) {ArrayList<String> array = new ArrayList<String>();array.add("000001");array.add("000003");array.add("000005");array.add("000004");array.add("000002");Collections.sort(array, new Sort(Sort.DOWM));for (String str : array) {System.out.println(str);}} }

  


功能:ArrayList中放置他是HashMap對象,這時要對其中的所有對象做排序。?

一、首先編寫排序器?
DataComparator.java?
import Comparable.test1.Person; import java.util.Comparator; import java.util.HashMap; import java.text.Collator; import java.text.CollationKey; public class DataComparator implements Comparator { Collator collator = Collator.getInstance(); //調入這個是解決中文排序問題 public int compare(Object obj1, Object obj2) { HashMap map1 = (HashMap) obj1; HashMap map2 = (HashMap) obj2; String name1 = (String) map1.get("Name"); String name2 = (String) map2.get("Name"); CollationKey key1 = collator.getCollationKey(name1.toLowerCase()); CollationKey key2 = collator.getCollationKey(name2.toLowerCase()); return key1.compareTo(key2); } }

  


二、測試?
ArrayListMapSortTest.java?
import java.util.Collections; import Comparable.ArrayListMapSort.DataComparator; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Iterator; import java.util.Date; import java.io.File;public class ArrayListMapSortTest {//列出文件夾下的文件及文件夾,不包括子文件夾中的文件和文件夾public ArrayList listFoldersAndFiles(String path) {File file = new File(path);File[] list = file.listFiles();ArrayList al = new ArrayList();for (int i = 0; i < list.length; i++) {//if (list[i].isDirectory())//listFolder(list[i].getPath());HashMap hm = new HashMap();hm.put("Name", list[i].getName());hm.put("Path", list[i].getPath());hm.put("AbsolutePath", list[i].getAbsolutePath());hm.put("Parent", list[i].getParent());//hm.put("isAbsolute", list[i].isAbsolute());//hm.put("isDirectory", list[i].isDirectory());//hm.put("isFile", list[i].isFile());//hm.put("isHidden", list[i].isHidden());hm.put("lastModified", new Date(list[i].lastModified()).toLocaleString());al.add(hm);//System.out.println(list[i].getName()+" 是文件夾:"+list[i].isDirectory());}return al;}public static void main(String[] args) {ArrayListMapSortTest databean = new ArrayListMapSortTest();ArrayList al = databean.listFoldersAndFiles("F:\\");Collections.sort(al, new DataComparator());for (int i = 0; i < al.size(); i++) {HashMap hm = (HashMap) al.get(i);for (Iterator iter = hm.entrySet().iterator(); iter.hasNext(); ) {Map.Entry entry = (Map.Entry) iter.next();Object key = entry.getKey();Object val = entry.getValue();System.out.print(key + " " + val + " ");}System.out.println();}} }

  

轉載于:https://www.cnblogs.com/DswCnblog/archive/2012/09/21/2697242.html

總結

以上是生活随笔為你收集整理的Java Arraylist 如何使用 Comparator排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。