尚学堂·Java300集·第九章·作业题参考答案(eclipse运行结果截图+源码)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了尚学堂·Java300集·第九章·作业题参考答案(eclipse运行结果截图+源码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4258字,纯文字阅读大概需要7分钟。
内容图文
![尚学堂·Java300集·第九章·作业题参考答案(eclipse运行结果截图+源码)](/upload/InfoBanner/zyjiaocheng/641/e97be11e244742339059574c25abb0be.jpg)
eclipse运行结果截图:
源码:
/**
* 尚学堂第九章练习题解答
* @author 绝尘
*
*一、选择题
* 建议:将代码赋值到程序中检验。
* 答案:
* 1.CD——Map中每个元素不仅仅是一个键值对,还有hashCode、next信息
* 2.A——索引越界
* 3.D
* 4.C
* 5.C——键值key相同,被覆盖
*
*三、编码题
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class SxtExercise09 {
public static void main(String[] args) {
/*
* 1.
*/
System.out.println("第一题输出结果:");
//新建一些书籍信息
Book book1 = new Book(1000, "神雕侠侣", 30, "北京大学出版社");
Book book2 = new Book(1001, "笑傲江湖", 25, "北京大学出版社");
Book book3 = new Book(1002, "射雕英雄传", 30, "北京大学出版社");
Book book4 = new Book(1003, "鹿鼎记", 40, "北京大学出版社");
Book book5 = new Book(1003, "鹿鼎记", 40, "北京大学出版社");
Book book6 = new Book(1004, "鹿鼎记", 40, "北京大学出版社");
// 1.1 新建一个bookMap用来存放所有的书籍信息
Map<Integer,Book> bookMap = new HashMap<Integer, Book>();
// 将所有书籍信息存入bookMap
bookMap.put(book1.getId(), book1);
bookMap.put(book2.getId(), book2);
bookMap.put(book3.getId(), book3);
bookMap.put(book4.getId(), book4);
// 遍历打印书籍信息
Set<Integer> keySet = bookMap.keySet();
for(Integer key:keySet) {
System.out.println(bookMap.get(key));
}
System.out.println("---------------------------------------------------");
// 1.2 新建一个bookList来存放所有书籍信息
List<Book> bookList = new ArrayList<Book>();
// 将所有书籍信息存入bookList
bookList.add(book1);
bookList.add(book2);
bookList.add(book3);
bookList.add(book4);
// 遍历打印书籍信息
for(Book book:bookList) {
System.out.println(book);
}
System.out.println("###########################");
/*
* 2.
*/
System.out.println("第二题输出结果:");
// 新建一个bookHashSet用来存放图书信息
Set<Book> bookHashSet = new HashSet<Book>();
bookHashSet.add(book4);//id=1003,先将book4放进去
bookHashSet.add(book5);//id=1003,不能放进去,首先因为hashCode相同,再对比equals时id也相同,所以放不进去
bookHashSet.add(book6);//id=1004,能放进去,hashCode不同就直接放进去了
System.out.println(bookHashSet.size());
System.out.println("###########################");
/*
* 3.
*
*/
System.out.println("第三题输出结果:");
Map<Integer,StudentEntry> stuMap = new HashMap<>();
StudentEntry stu1 = new StudentEntry(1000, "张三", 22, "男");
StudentEntry stu2 = new StudentEntry(1001, "李四", 23, "男");
StudentEntry stu3 = new StudentEntry(1002, "王五", 26, "男");
StudentEntry stu4 = new StudentEntry(1003, "赵六", 21, "男");
stuMap.put(stu1.id, stu1);
stuMap.put(stu2.id, stu2);
stuMap.put(stu3.id, stu3);
stuMap.put(stu4.id, stu4);
List<StudentEntry> stuList = new ArrayList<>();
Set<Entry<Integer,StudentEntry>> set = stuMap.entrySet();
for(Map.Entry<Integer,StudentEntry> s:set) {
stuList.add(s.getValue());
}
// Map中value(StudentEntry类)显示
System.out.println(stuList.get(0));
System.out.println(stuList.get(1));
System.out.println(stuList.get(2));
System.out.println(stuList.get(3));
}//main方法
}
class StudentEntry extends Student{
public StudentEntry() {
super();//调用父类不含参构造器
}
// 父类非空构造器不能继承,所以需要重写
public StudentEntry(int id, String name, int age, String sex) {
super(id, name, age, sex);//调用父类含参构造器
}
}
class Student{
int id;
String name;
int age;
String sex;
public Student(int id, String name, int age, String sex) {
super();
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
}
public Student() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "id:"+id+",name:"+name+",age:"+age+",sex:"+sex;
}
}
class Book{
int id;
String name;
double price;
String company;
public Book(int id, String name, double price, String company) {
super();
this.id = id;
this.name = name;
this.price = price;
this.company = company;
}
int getId() {
return id;
}
@Override
public String toString() {
return "id:"+id+",name:"+name+",price:"+price+",company:"+company;
}
@Override
public int hashCode() {
return id;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Book) {
Book newBook = (Book)obj;
if(newBook.getId()!=this.getId())
return false;//id不同,放返回false,就可以放进去了
else {
return true;
}
}else {
return false;
}
}
}
qq_44515144
发布了7 篇原创文章 · 获赞 0 · 访问量 106
私信
关注
内容总结
以上是互联网集市为您收集整理的尚学堂·Java300集·第九章·作业题参考答案(eclipse运行结果截图+源码)全部内容,希望文章能够帮你解决尚学堂·Java300集·第九章·作业题参考答案(eclipse运行结果截图+源码)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。