开发者社区 问答 正文

Java中有关LinkedList的排序问题?报错

在做一个录入元素周期表的小项目,使用了LinkedList做数据库,现在想做一个方法sort(LinkedList ele),将传入的LinkedList按照元素中的某个属性进行排序,例如按照LinkedList中的各元素的原子序数进行升序或者降序排列,尝试了几种办法如下:



void sort(LinkedList ele){
    for(int o=0;o<(ele.size()-2);o++){
    for(int i=0;i<(ele.size()-1);){
    Ele use=(Ele)ele.get(i);//将两个相邻下标的对象强制转换为Ele类(Ele类是我写的化学元素的类,它有名称元素符号原子序数等等属性)
    Ele uses=(Ele)ele.get(i+1);
    if(use.num>uses.num){//判断相邻的两个对象的num属性(即原子序数的属性)关系
        ele.remove(i);//如果0下标的num>1下标的num,则0下标于1下标交换位置
        ele.add(i,uses);
        ele.remove(i+1);
        ele.add(i+1,use);
    }else{//如果无需交换,则进入下一个循环
        continue;
    }
}
}

}


但是无法实现,也不报错,想不通哪里错误了,我觉得肯定有更简单的方法,求大神指导Orz.蟹蟹~

展开
收起
爱吃鱼的程序员 2020-06-12 14:44:21 410 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    推荐用Collections.sort(List<T>list,Comparator<?superT>c)
    谢谢!

    如果你是关注于排序算法,可以研究一下,如果你不关注排序算法,只关注排序结果,楼上的答案比较适合你

    谢谢~

    2020-06-12 14:44:40
    赞同 展开评论
问答分类:
问答地址: