List排序
我有个list的数据如下:
{[100,10%],[200,4%],[20,60%],[150,5%]}
我要处到的结果是这个list按[]中的乘积排序,因为100*10%=10,200*4%=8,20*60%=12,150*5%=7.5
则结果是:{[150,15%],[200,4%],[100,10%],[20,60%]}
我是这样实现的:
List arrayList=new ArrayList();
List arrayList2=new ArrayList();
List arrayList3=new ArrayList();
Object[] obj={100,10%};
Object[] obj2={200,4%};
Object[] obj3={20,60%};
Object[] obj4={20,60%};
arrayList.add(obj);
arrayList.add(obj2);
arrayList.add(obj3);
arrayList.add(obj4);
for(int i=0;i<arrayList.size();i++)
{
Object[] obj1=(Object[])arrayList.get(i);
arrayList2.add(Double.parseDouble(obj1[0].toString())*Double.parseDouble(obj1[1].toString())*););
}
Double[] aa = new Double[arrayList2.size()];
arrayList2.toArray(aa);
Arrays.sort(aa);
然后再比较aa中的项与arrayList中项中的[]中的两列积相比,arrayList3相等就添加相应的obj[i],这样arrayList3就是我要的结果,可是这样太慢了,请问有没更好的方法,请高手指教。
{[100,10%],[200,4%],[20,60%],[150,5%]}
我要处到的结果是这个list按[]中的乘积排序,因为100*10%=10,200*4%=8,20*60%=12,150*5%=7.5
则结果是:{[150,15%],[200,4%],[100,10%],[20,60%]}
我是这样实现的:
List arrayList=new ArrayList();
List arrayList2=new ArrayList();
List arrayList3=new ArrayList();
Object[] obj={100,10%};
Object[] obj2={200,4%};
Object[] obj3={20,60%};
Object[] obj4={20,60%};
arrayList.add(obj);
arrayList.add(obj2);
arrayList.add(obj3);
arrayList.add(obj4);
for(int i=0;i<arrayList.size();i++)
{
Object[] obj1=(Object[])arrayList.get(i);
arrayList2.add(Double.parseDouble(obj1[0].toString())*Double.parseDouble(obj1[1].toString())*););
}
Double[] aa = new Double[arrayList2.size()];
arrayList2.toArray(aa);
Arrays.sort(aa);
然后再比较aa中的项与arrayList中项中的[]中的两列积相比,arrayList3相等就添加相应的obj[i],这样arrayList3就是我要的结果,可是这样太慢了,请问有没更好的方法,请高手指教。
...全文
相关推荐
java 中List按照date排序的实现
主要介绍了java 中List按照date排序的实现的相关资料,需要的朋友可以参考下
java List 排序之冒泡排序实例代码
主要介绍了java List 排序之冒泡排序实例代码的相关资料,需要的朋友可以参考下
java List中对象多属性排序及各属性排序设置
天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!
java list排序
java开发,使用list对其进行排序,,易学简单。。。。。。。。。
java list集合排序按某一属性排序操作
主要介绍了java list集合排序按某一属性排序操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


Web 开发
