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);