2018-12-18作业
1、编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。
public class User implements Comparable<User>{
private Integer id;
private String name;
private Double money;
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", money=" + money + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((money == null) ? 0 : money.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
if (money == null) {
if (other.money != null)
return false;
} else if (!money.equals(other.money))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getMoney() {
return money;
}
public void setMoney(Double money) {
this.money = money;
}
public User(Integer id, String name, Double money) {
super();
this.id = id;
this.name = name;
this.money = money;
}
public User() {
super();
}
@Override
public int compareTo(User o) {
return 0;
}
}
public class test {
public static void main(String[] args) {
HashMap<Integer, User>users=new HashMap<>();
User usr1=new User(1,"tom",100.0);
User usr2=new User(2,"哈哈哈",200.0);
User usr3=new User(3,"咻咻咻",300.0);
users.put(usr1.getId(), usr1);
users.put(usr2.getId(), usr2);
users.put(usr3.getId(), usr3);
User usr = users.get(1);
System.out.println(usr);
}
}
2、假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。
public class test1 {
public static void main(String[] args) {
ArrayList<Integer>list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
for(Integer n:list) {
System.out.println(n);
}
}
}
3、在一个列表中存储以下元素:apple,grape,banana,pear
3.1 返回集合中的最大的和最小的元素
3.2 将集合进行排序,并将排序后的结果打印在控制台上
public class Fruit implements Comparable<Fruit>{
private String name;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Fruit other = (Fruit) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public String toString() {
return "Fruit [name=" + name + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Fruit(String name) {
super();
this.name = name;
}
public Fruit() {
super();
}
@Override
public int compareTo(Fruit o) {
return this.name.compareTo(o.name);
}
}
public class NameComparator implements Comparator<Fruit>{
@Override
public int compare(Fruit o1, Fruit o2) {
return o1.getName().compareTo(o2.getName());
}
}
public class test1 {
public static void main(String[] args) {
Fruit a1=new Fruit("apple");
Fruit a2=new Fruit("grape");
Fruit a3=new Fruit("banana");
Fruit a4=new Fruit("pear");
ArrayList<Fruit> list=new ArrayList<>();
list.add(a1);
list.add(a2);
list.add(a3);
list.add(a4);
Fruit max = Collections.max(list,new NameComparator());
System.out.println(max);
Fruit min = Collections.min(list,new NameComparator());
System.out.println(min);
Collections.sort(list, new NameComparator());
System.out.println(list);
}
}
2、从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。
public class test {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入单词:");
ArrayList<String>list=new ArrayList<>();
for(int i=0;i<6;i++) {
String a =input.nextLine();
list.add(a);
}
Collections.sort(list);
System.out.println(list);
}
}
1、请使用LinkedList来模拟一个队列(先进先出的特性): [必做题]
1.1 拥有放入对象的方法void put(Object o)
1.2 取出对象的方法Object get()
1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。
public class Queue {
private LinkedList list=new LinkedList();
public void put(Object obj) {
list.addLast(obj);
}
public Object get() {
return list.removeFirst();
}
public boolean isEmpty() {
boolean b=true;
if(list.size()>0) {
b=false;
}
return b;
}
public void show() {
System.out.println(list);
}
}
public class test1 {
public static void main(String[] args) {
Queue queue =new Queue();
boolean b= queue.isEmpty();
System.out.println(b);
queue.put("哈哈哈");
queue.put("咻咻咻");
b=queue.isEmpty();
System.out.println(b);
queue.show();
queue.get();
queue.show();
}
}