Collection:
ollection体系集合:
Collection父接口:该体系结构的根接口,代表一组对象,称为“集合”,每个对象都是该集合的“元素”。
List子接口:继承父接口提供的共性方法,同时定义了一些独有的与下标相关的操作方法,;有序、有下标、元素可重复
Set接口:无序、无下标、元素不可重复。
List实现类:JDK8的ArrayList,实际初始长度是0,使用时默认长度10
ArrayList:数组结构存储,查询快,增删慢,JDK 1.2发布,执行效率快,线程不安全。
Vector:数组结构存储,查询快,增删慢,JDK 1.0发布,执行效率慢,线程安全。
LinkedList:链表(链接列表)结构存储,查询慢、增删快。
作业:
2、
import java.util.*;
public class TestList {
public static void main(String[] args) {
List<String>list = new ArrayList(); //LinkedList(); 空间连续性,增删快查询慢
list.add("Hello");
list.add("Word");
list.add(1 , "Learn");
list.add(1 , "Java");
printList(list);
LinkedList linked = new LinkedList();
Collections.copy(list, linked);
Vector vec = new Vector();
Collections.copy(list, vec);
}
public static void printList(List list) {
System.out.println(list.toString());
}
}
3、
import java.util.*;
public class TestList {
public static void main(String[] args) {
List<String>list = new ArrayList<String>();
list.add("Hello");
list.add("Word");
list.add("Hello");
list.add("Learn");
list.remove("Hello");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
5、
import java.util.*;;
public class TestList {
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);
Worker zhao6 = new Worker("zhao5" , 24 , 3300);
List list = new ArrayList();
list.add(zhang3);
list.add(li4);
list.add(wang5);
list.add(1, zhao6);
list.remove(3);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).toString());
}
}
}
class Worker{
private int age;
private String name;
private double salary;
public Worker() {}
public Worker(String name, int age, double salary) {
super();
this.age = age;
this.name = name;
this.salary = salary;
}
public boolean equals(Object obj) {
if(this == obj) {
return true;
}else if(obj != null) {
if(this.getClass().equals(obj)) {
Worker work = (Worker)obj;
if(work.equals(obj)) {
return true;
}
}
}
return false;
}
public String toString() {
return name + "\t" + age + "\t" + salary;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setSalary(double salary) {
this.salary = salary;
}
}