今天遇到一個小問題,就是把一個循環出來的數組放在一個list裏面,而後排序輸出,我第一個想到的是冒泡,選擇,快速之類的,想一想都以爲太麻煩,先拿出來,而後找到再放進去,這樣的代碼很臃腫,因而(百般無奈,徹底是由於偷懶)就用了java自帶的Collection.sort這個自帶的排序,寫下來代碼少了不少,並且還簡單易懂。java
ps:數據類型是double和int的徹底能夠排序,String的貌似不能夠,這點就很蛋疼了。數組
由於是把list裏面的數據放在listview裏面,那我在這裏排序。ide
driverList.add(mDriver); Collections.sort(driverList, new Comparator<Drivers>() { @Override public int compare(Drivers lhs, Drivers rhs) { int i = lhs.getScore().compareTo(rhs.getScore()); return i; } }); mViolate = new ViolateAdapter(getActivity(),driverList); mList.setAdapter(mViolate); mList.setOnItemClickListener(new MyItemClicks());
上面那個list就是存放mDriver的,中間那一串輕鬆完成排序,這樣的排序是升序的,從上到下是變大的。倒序讓我想了好一段時間,最後一句話搞定。code
driverList.add(mDriver); //先排序 Collections.sort(driverList, new Comparator<Drivers>() { @Override public int compare(Drivers lhs, Drivers rhs) { int i = lhs.getScore().compareTo(rhs.getScore()); return i; } }); //倒序 Collections.reverse(driverList); mViolate = new ViolateAdapter(getActivity(),driverList); mList.setAdapter(mViolate); mList.setOnItemClickListener(new MyItemClicks());
沒錯把正序拍好的list放進這個Collections.reverse裏面,完成倒序,固然這是我本身寫的一個,還有不少須要補充的,要下班了,草草寫一下,但願給那些沒思路的一個思路,但願大神給些建議排序