A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[原创]DVD管理系统项目之一--集合排序的动态刷新问题
问题说明:
先上图:


***********************************************************

首先,因为我用的TreeSet 所以每次改变count值时,,DVD对象不会进行比较,,便不会排序,,

我发现TreeSet,,并不能动态的排序,,,,必须要有值存入或者取出才会排序。。。。。


起初,我用add一个对象,,再删除一次来实现刷新,,
  1. void charts() {
  2.                 System.out.println("--->DVD 借 出 排 行 榜");
  3.                 System.out.println();
  4.                 System.out.println("*********************************");
  5.                 System.out.println("次数\t名称");
  6.                 TreeSet<DVD> chartsDVD = new TreeSet<DVD>();

复制代码
,,
很快发现这个方法不行,于是发现可以通过以下代码实现刷新:
  1. // 借 出 排 行 榜
  2.         void charts() {
  3.                 System.out.println("--->DVD 借 出 排 行 榜");
  4.                 System.out.println();
  5.                 System.out.println("*********************************");
  6.                 System.out.println("次数\t名称");
  7.                 TreeSet<DVD> chartsDVD = new TreeSet<DVD>();

  8.                 Iterator<DVD> it = myDVD.iterator();
  9.                 while (it.hasNext()) {
  10.                         DVD nextDVD = it.next();
  11.                         chartsDVD.add(nextDVD);
  12.                 }
  13.                 it = chartsDVD.iterator();
  14.                 while (it.hasNext()) {
  15.                         DVD nextDVD = it.next();
  16.                         System.out.println(nextDVD.count + "\t《" + nextDVD.getName() + "》");
  17.                 }
  18.                 System.out.println("*********************************");
  19.                 toRe();

  20.         }
复制代码
*****************************
这样这个问题就可以解决了,,,,

当然,用HashSet,,也可以试试,,它应该会动态的刷新,,你可以试试。。。

如果你有更好的解决代码,可以和我交流,十分感谢。。。。


另外,下一步要解决的问题:使用io流模拟迷你SQL。。。



评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1 很给力!

查看全部评分

2 个回复

正序浏览
万琪 来自手机 金牌黑马 2013-6-18 05:26:46
板凳
刘茂林 发表于 2013-6-17 17:09
骚年略强啊。。。

一般般,,都是0基础过来的,,现在稍微比0基础好点
回复 使用道具 举报
骚年略强啊。。。
回复 使用道具 举报
骚年略强啊。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马