今天遇到一个小问题,就是把一个循环出来的数组放在一个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里面,完成倒序,固然这是我本身写的一个,还有不少须要补充的,要下班了,草草写一下,但愿给那些没思路的一个思路,但愿大神给些建议排序