大神 们 JAVA List数组排序 求解

爱飞的云 2016-08-09 04:28:32
package homework;

import java.util.ArrayList;
import java.util.List;

public class Seven22DVDDB {

static List <Seven22DVD> k=new ArrayList<Seven22DVD>();
static{ //次数
k.add(new Seven22DVD(2001,0,"罗马假日","\t",0));
k.add(new Seven22DVD(2002,1,"逆天侠盗团","2016-2-4",0));
k.add(new Seven22DVD(2003,0,"惊天魔盗团","\t",0));
k.add(new Seven22DVD(2004,1,"X战警:逆转未来","2016-2-6",0));

}
}
...全文
545 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱飞的云 2016-08-11
  • 打赏
  • 举报
回复
谢谢各位啦 问题解决了 还有 9楼教训的是 我一定一定注意
yekes 2016-08-10
  • 打赏
  • 举报
回复
【qq_33246295】楼主,你好! 常用工具类Collections的sort方法加Comparable接口实现,代码如下: import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Seven22DVDDB { static List<Seven22DVD> k = new ArrayList<Seven22DVD>(); static { k.add(new Seven22DVD(2001, 0, "罗马假日", "\t", 0)); k.add(new Seven22DVD(2002, 1, "逆天侠盗团", "2016-2-4", 0)); k.add(new Seven22DVD(2003, 0, "惊天魔盗团", "\t", 0)); k.add(new Seven22DVD(2004, 1, "X战警:逆转未来", "2016-2-6", 0)); } public static void main(String[] args) { Collections.sort(k); for (Seven22DVD seven : k) { System.out.println(seven.toString()); } } } public class Seven22DVD implements Comparable<Seven22DVD> { private Integer code; private Integer count;// 次数 private String name; private String date; private Integer falg; public Seven22DVD(Integer code, Integer count, String name, String date, Integer falg) { this.code = code; this.count = count; this.name = name; this.date = date; this.falg = falg; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public void setName(String name) { this.name = name; } public String getName() { return name; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public Integer getFalg() { return falg; } public void setFalg(Integer falg) { this.falg = falg; } public String toString() { return this.code + "|" + this.count + "|" + this.name + "|" + this.date + "|" + this.falg; } @Override public int compareTo(Seven22DVD o) { return o.count - this.count; } } 以上的回答有没有帮到你,你的问题实现起来比较简单我就把代码实现了一下,写的不好请见谅。
徐瑶没有故事 2016-08-10
  • 打赏
  • 举报
回复
问题不清楚啊 不知道楼主你想要干嘛
qq_33400798 2016-08-10
  • 打赏
  • 举报
回复
直接toArray()不可以吗
尚振伟 2016-08-10
  • 打赏
  • 举报
回复
实现Comparable接口,重写其compareTo方法。
Be_nurturing 2016-08-10
  • 打赏
  • 举报
回复
同意楼上的说法
NewMoons 2016-08-09
  • 打赏
  • 举报
回复
我对这种半天也说不清需求的帖子真的很无语,大家很积极的帮助你,你自己不把问题说清楚,想到哪说哪,你以为大家就为求你那点分么? 虽说楼主你可能比较小白,但小白不等于不能把问题说清楚。你说是吧。
醉笑三千席 2016-08-09
  • 打赏
  • 举报
回复
问题没说清楚,对象里有3个属性,不知道你要按那一项排序。 要排序就要在Seven22DVDDB继承Comparable,然后重写comparTo方法。 comparTo方法要对应你需要排序的属性。
爱飞的云 2016-08-09
  • 打赏
  • 举报
回复
sql 没学
  • 打赏
  • 举报
回复
k.add(new Seven22DVD(2001,0,"罗马假日","\t",0));
k.add(new Seven22DVD(2002,1,"逆天侠盗团","2016-2-4",0));
k.add(new Seven22DVD(2003,0,"惊天魔盗团","\t",0));
k.add(new Seven22DVD(2004,1,"X战警:逆转未来","2016-2-6",0));
这些数据从哪来的?
如果是你自己可以控制提取方式,那在SQL语句里就指定按照次数字段排序,这样返回的记录就已经是排好序的。
如果数据提取的方式不可改变,那就从接收到数据的时候开始,先对数据进行排序,然后再使用k.add(new Seven22DVD(2001,0,"罗马假日","\t",0)); 这样的语句构造对象。
爱飞的云 2016-08-09
  • 打赏
  • 举报
回复
接口comprarble实现以后 是个int的 返回值类型 这点我是真不清楚 求指导 public int compareTo(Object o) { // TODO Auto-generated method stub return 0; }
soton_dolphin 2016-08-09
  • 打赏
  • 举报
回复
可以用Seven22DVDDB implements Comparable 接口, 或者创建一个新的类 implements comparator 借口,把这个新的类当做参数传入Collections.sort()方法
  • 打赏
  • 举报
回复
实现Comparable
爱飞的云 2016-08-09
  • 打赏
  • 举报
回复
我想通过 new 参数里 最后一个参数 也就是次数进行排序 不知道怎摸弄?
soton_dolphin 2016-08-09
  • 打赏
  • 举报
回复
把问题说明白了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧