java关于TreeSet集合的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java关于TreeSet集合的问题

2016-06-12 16:15:33 1939 1

关于TreeSet集合的问题,为什么每次添加只能添加进去一个,再添加的时候就会覆盖掉前面那个不知道为什么只能添加一个对象进去,添加第二次的时候就覆盖掉了第一次添加进去的。麻烦大家了!
这是main方法

if("a".equalsIgnoreCase(option)){
//查看图书的功能
d.cheekBook();
}
else if("b".equalsIgnoreCase(option)){
//添加图书的功能
System.out.println("请输入书名:");
bookName=sc.next();
System.out.println("请输入作者:");
author=sc.next();
System.out.println("请输入出版社:");
press=sc.next();
System.out.println("请输入价格:");
price=sc.next();
System.out.println("请输入书号:");
bookID=sc.next();
System.out.println("请输入出版日期:");
pubdate=sc.next();
boolean bl2=d.addBook(bookName,author,press,price,bookID,pubdate);
if(bl2){
System.out.println("添加成功");
System.out.println("请选择功能:查看图书(A) 添加图书(B) 修改图书(C) 删除图书(D)");
option=sc.next();
if("a".equalsIgnoreCase(option)){
//查看图书
d.cheekBook();
}
else if("b".equalsIgnoreCase(option)){
//添加图书
System.out.println("请输入书名:");
bookName=sc.next();
System.out.println("请输入作者:");
author=sc.next();
System.out.println("请输入出版社:");
press=sc.next();
System.out.println("请输入价格:");
price=sc.next();
System.out.println("请输入书号:");
bookID=sc.next();
System.out.println("请输入出版日期:");
pubdate=sc.next();
bln=d.addBook(bookName,author,press,price,bookID,pubdate);
if(bln){
System.out.println("添加成功");
}
}
这是添加图书和查看图书的的方法    
  //创建book对象
Book book=new Book();
//创建TreeSet集合,里面储存book对象的属性
TreeSet<Book> tree=new TreeSet<Book>();
//查看图书的功能
public void cheekBook(){
    if(tree.isEmpty()){
        System.out.println("请添加图书!!!");
    }
    else{
        System.out.println("查看图书");
        System.out.println("|书名|     |作者|     |出版社|    |价格|   |书号|   |出版日期|");
        Iterator<Book> it=tree.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }

    }
}
//添加图书
public boolean addBook(String bookName, String author, String press, String price, String bookID, String pubdate){
    boolean bl2=false;
    book.setBookName(bookName);
    book.setAuthor(author);
    book.setPress(press);
    book.setPrice(price);
    book.setBookID(bookID);
    book.setPubdate(pubdate);
    System.out.println("新书信息如下:"+book.toStrings());
    System.out.println("是否保存该书? (Y)是 (N)否");
    option=sc.next();
    if("y".equalsIgnoreCase(option)){
        System.out.println("正在添加....");
        tree.add(book);//把图书的信息添加到tree集合中
        bl2=true;
    }
    else{
        System.out.println("已取消");
    }
    return bl2;
}
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:34:27
    Book book=new Book();
    //创建TreeSet集合,里面储存book对象的属性
    TreeSet tree=new TreeSet();
    
    第一次添加的是book对象,保存到tree中。tree获得book的地址。
    第二次添加的还是book对象,只是改了下值。保存到tree中进行覆盖。
    
    第一个修改的地方
    //创建引用名,不new对象
    Book book ;
    //创建TreeSet集合,里面储存book对象的属性
    TreeSet tree=new TreeSet();
    
    第二个修改的地方
    public boolean addBook(String bookName, String author, String press, String price, String bookID, String pubdate){
    boolean bl2=false;
    
        //在方法中new对象,可以保证每次的对象不一样
        book = new Book();
    book.setBookName(bookName);
    book.setAuthor(author);
    book.setPress(press);
    book.setPrice(price);
    book.setBookID(bookID);
    book.setPubdate(pubdate);
    System.out.println("新书信息如下:"+book.toStrings());
    System.out.println("是否保存该书? (Y)是 (N)否");
    option=sc.next();
    if("y".equalsIgnoreCase(option)){
        System.out.println("正在添加....");
        tree.add(book);//把图书的信息添加到tree集合中
        bl2=true;
    }
    else{
        System.out.println("已取消");
    }
    return bl2;
    }
    0 0
相关问答

1

回答

将java集合TreeSet对象转换为字符串对象,有没有性能最优的做法?

2021-11-06 21:02:00 283浏览量 回答数 1

0

回答

请问将java集合TreeSet对象转换为字符串对象,有没有性能最优的做法?

2021-11-07 11:56:35 143浏览量 回答数 0

0

回答

您好java性能问题:有没有比较字符串是否相等的最快方法?

2021-11-07 00:39:14 136浏览量 回答数 0

0

回答

请问java性能问题:如何优化向HashMap插入元素的速度?

2021-11-12 17:18:18 131浏览量 回答数 0

0

回答

请问java中常用的性能调优诊断工具都有哪些,请帮忙提供一下?

2021-11-06 22:35:44 83浏览量 回答数 0

0

回答

请问java中使用BigDecimal计算操作性能最优的做法是什么?

2021-11-07 15:42:19 204浏览量 回答数 0

1

回答

java中使用BigDecimal计算操作性能最优的做法是什么?

2021-11-06 16:35:15 222浏览量 回答数 1

1

回答

java性能问题:有没有比较字符串是否相等的最快方法?

2021-11-06 16:21:40 160浏览量 回答数 1

1

回答

java性能问题:如何优化向HashMap插入元素的速度?

2021-11-06 15:41:34 205浏览量 回答数 1

1

回答

java中常用的性能调优诊断工具都有哪些,请帮忙提供一下?

2021-11-06 10:24:39 150浏览量 回答数 1
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载