2.(List)有如下代码 import java.util.*; public class TestList{
public static void main(String args[]){
List list = new ArrayList();
list.add(“Hello”);
list.add(“World”);
list.add(1,“Learn”);
list.add(1,“Java”);
printList(list);
}
public static void printList(List list){
//1
}
}
要求:
I.把//1 处的代码补充完整,要求输出 list 中所有元素的内容
System.out.println(list.get(i));
AI.写出程序执行的结果
[Hello, Java, Learn, World]
BI.如果要把实现类由 ArrayList 换为 LinkedList,应该改哪里?ArrayList 和 LinkedList 使用上有什么区别?实现上有什么区别?
将List list = new ArrayList()换为List list = new LinkedList();区别:ArrayList数组结构实现,查询快、增上慢;LinkedList链表(链接列表)结构存储,增删快,查询快。
IV. 如果要把实现类由 ArrayList 换为 Vector,应该改哪里?ArrayList 和 Vector 使用上有什么区别?实现上有什么区别?
将List list = new ArrayList()换为List list = new Vector();区别:ArrayList运行效率快、线程不安全;Vector运行效率慢、线程安全。
3.(List)写出下面程序的运行结果
import java.util.*;
public class TestList{
public static void main(String args[]){ List list = new ArrayList();
list.add(“Hello”);
list.add(“World”);
list.add(“Hello”);
list.add(“Learn”);
list.remove(“Hello”);
list.remove(0);
for(int i = 0; i<list.size(); i++){
System.out.println(list.get(i));
}
}
}
Hello
Learn
5.(List)已知有一个 Worker 类如下: public class Worker {
private int age; private String name; private double salary; public Worker (){}
public Worker (String name, int age, double salary){ this.name = name;
this.age = age; this.salary = salary;
}
public int getAge() { return age;
}
public void setAge(int age) { this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary(){
return salary;
}
public void setSalary(double salary){
this.salary = salary;
}
public void work(){
System.out.println(name + “ work”);
}
}
完成下面的要求:
I. 创建一个 List,在 List 中增加三个工人,基本信息如下
姓名 年龄 工资
zhang3 18 3000
li4 25 3500
wang5 22 3200
AI.在 li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资 3300 III. 删除 wang5 的信息
IV. 利用 for 循环遍历,打印 List 中所有工人的信息
V.利用 for-each 遍历,对 List 中所有的工人调用 work 方法。
VI. 为 Worker 类添加 equals 方法`@Override
public String toString() {
return this.name + “\t” + this.age + “\t” + this.salary;
}
import java.util.LinkedList;
import java.util.List;
public class TestWorker {
public static void main(String[] args) {
Worker zhang3 = new Worker(“zhang3” , 18 , 3000);
Worker li4 = new Worker(“li4” , 25 , 3500);
Worker wang5 = new Worker(“wang5” , 22 , 3200);
List<Worker> list = new LinkedList<Worker>();
list.add(zhang3);
list.add(li4);
list.add(wang5);
Worker zhao6 = new Worker("zhao6" , 24 , 3300);
list.add(1 , zhao6);
list.remove(wang5);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
for (Worker worker : list) {
worker.work();
}
}
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
Worker other = (Worker) obj;
if (age != other.age) {
return false;
}
if (name == null) {
if (other.name != null) {
return false;
}
} else if (!name.equals(other.name)) {
return false;
}
if (Double.doubleToLongBits(salary) != Double.doubleToLongBits(other.salary)) {
return false;
}
return true;
}
`