1、请使用LinkedList来模拟一个队列(先进先出的特性): [必做题]
1.1 拥有放入对象的方法void put(Object o)
1.2 取出对象的方法Object get()
1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。
import java.util.LinkedList;
MyQueue.java
LinkedList<Object> list = new LinkedList<>();
public void put(Object obj) {
list.add(obj);
}
public Object get() {
Object obj = list.getFirst(); // 获取最先放入的元素
list.removeFirst(); // 移除元素
return obj;
}
public boolean isEmpty() {
return list.size() == 0 ? true : false;
}
HomeWork11.java
MyQueue mq=new MyQueue();
mq.put("a");
mq.put("b");
mq.put("c");
while(!mq.isEmpty()){
Object obj=mq.get();
System.out.println(obj);
}
2、假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。 [必做题]
import java.util.ArrayList;
import java.util.Iterator;
HomeWork12.java
ArrayList<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
Iterator<Integer> it=list.iterator();
while(it.hasNext()){
Integer i=it.next();
System.out.println(i);
}
3、在一个列表中存储以下元素:apple,grape,banana,pear
3.1 返回集合中的最大的和最小的元素
3.2 将集合进行排序,并将排序后的结果打印在控制台上 [必做题]
import java.util.Collections;
import java.util.LinkedList;
HomeWork13.java
LinkedList<String> link = new LinkedList<String>();
link.add("apple");
link.add("grape");
link.add("banana");
link.add("pear");
System.out.println("最大的元素为" + Collections.max(link));
System.out.println("最小的元素为" + Collections.min(link));
Collections.sort(link);
for (String s : link) {
System.out.println(s);
}
4、编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。 [选做题]
import java.util.HashMap;
Saver.java
private int id;
private String name;
private int balance;
public Saver() {
super();
}
public Saver(int id, String name, int balance) {
super();
this.id = id;
this.name = name;
this.balance = balance;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
@Override
public String toString() {
return "Saver [id=" + id + ", name=" + name + ", balance=" + balance + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + getOuterType().hashCode();
result = prime * result + balance;
result = prime * result + id;
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;
Saver other = (Saver) obj;
if (!getOuterType().equals(other.getOuterType()))
return false;
if (balance != other.balance)
return false;
if (id != other.id)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
HomeWork10.java
HashMap<Integer, Saver> hm=new HashMap<>();
Saver s1=new Saver(1, "zhangsan", 1);
Saver s2=new Saver(2, "lisi", 10);
Saver s3=new Saver(3, "wangwu", 100);
hm.put(s1.getId(),s1);
hm.put(s2.getId(),s2);
hm.put(s3.getId(),s3);
for (Integer s : hm.keySet()) {
System.out.println(hm.get(s));
}
5、从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。 [选做题]
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
HomeWork14.java
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
String[] arr=str.split(" ");
List<String> list=Arrays.asList(arr);
Collections.sort(list,new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareToIgnoreCase(o2);
}
});
System.out.println(list);