关于ArraryList排序的一点记录
2016-12-26 22:19
387 查看
在做关于ArraryList排序的时候,借鉴网上的方法使用Collections来实现排序,结果与实际结果不相符,在此做一下记录,具体代码如下:
排序类:
以上的代码很简单,就是对图片的索引值进行排序,然后在按排列好的顺序,把图片提取出来。结果发现每次提取的都是索引号为1的图片排在前面,索引号为0的排在后面,我以为接口中比较大小的部分错了,然后就有重新修改,把代码:
改为:
发现还是没有起到排序的作用。
最后发现在接口返回0的时候,不进行排序,最后修改的结果如下:
特此在这记录一下。网上有些例子就是返回0
public class SortBitmap { public Bitmap mBitmap; public int mIndex;//记录图片的顺序位置 public SortBitmap(int index,Bitmap bitmap){ mBitmap = bitmap; mIndex = index; } } ArrayList<SortBitmap> sortBitmaps = new ArrayList<SortBitmap>() sortBitmap1 = new SortBitmap(bitmap1,0); sortBitmaps.add(sortBitmap1); sortBitmap2 = new SortBitmap(bitmap2,1); sortBitmaps.add(sortBitmap2); Collections.sort(sortBitmaps, new SortByIndex()); for (SortBitmap sortBitmap : sortBitmaps) { bitmaps.add(sortBitmap.mBitmap); }
排序类:
class SortByIndex implements Comparator { public int compare(Object o1, Object o2) { SortBitmap s1 = (SortBitmap) o1; SortBitmap s2 = (SortBitmap) o2; if(s1 .mIndex < s2.mIndex){ return 1; } return 0; } }
以上的代码很简单,就是对图片的索引值进行排序,然后在按排列好的顺序,把图片提取出来。结果发现每次提取的都是索引号为1的图片排在前面,索引号为0的排在后面,我以为接口中比较大小的部分错了,然后就有重新修改,把代码:
if(s1 .mIndex < s2.mIndex)
改为:
if(s1 .mIndex > s2.mIndex){
发现还是没有起到排序的作用。
最后发现在接口返回0的时候,不进行排序,最后修改的结果如下:
//排序 class SortByIndex implements Comparator { public int compare(Object o1, Object o2) { SortBitmap s1 = (SortBitmap) o1; SortBitmap s2 = (SortBitmap) o2; return (s1.mIndex - s2.mIndex); } }
特此在这记录一下。网上有些例子就是返回0
相关文章推荐
- 关于页面编码问题的一点记录
- 关于confirm无效的一点记录
- 关于svn服务器配置的一点记录
- 关于国际化的一点记录
- 关于记录博客的一点感想
- 关于db2的一点记录
- 关于管理培训的一点心得记录
- 关于qt学习的一点小记录(1)
- 关于storyboard的一点学习记录
- 关于java集合Set的一点记录
- 关于SQL Server中的DateTime类型和C#中的DateTime类型的一点小记录
- 关于jquery选择器的一点认识,记录下来,以供日后查阅
- 关于C语言include的一点记录
- 关于Android x86平台 函数hook知识的一点记录
- 关于strlen误用的一点记录
- 关于weka的TextDirectoryLoader 的一点记录
- 关于删除MySQL Logs的一点记录
- 关于jquery ajax发送以及php接受json数据的一点记录
- 关于asterisk做呼叫转接的一点经验记录
- iOS学习爬坑记录8:关于自定义Cell的一点认识