课堂案例:
ArrayList:
package day23.t1;
import java.util.ArrayList;
public class TestArrayList {
public static void main(String[] args) {
ArrayList al = new ArrayList();
boolean b=al.add("zhangkuo");
System.out.println(b);
Object obj = al.get(0);
System.out.println(obj);
al.add(1, "A");
al.add(2, "B");
al.add(3, "C");
Object obj1=al.remove(2);
System.out.println(obj1);
Object[] obj2 =al.toArray();
for(int i =0;i<obj2.length;i++){
System.out.println(obj2[i]);
}
boolean b1 = al.contains("zhang");
boolean b2 =al.contains("zhangkuo");
System.out.println(b1);
System.out.println(b2);
al.clear();
boolean b3 =al.isEmpty();
System.out.println(b3);
}
}
Vector :
package day23.t1;
import java.util.Vector;
public class TestVector {
public static void main(String[] args) {
Vector vector =new Vector();
vector.add("111");
vector.add("222");
vector.add("333");
vector.add(0, "888");
for(int i=0;i<vector.size();i++){
System.out.println(vector.get(i));
}
System.out.println(vector);
}
}
LinkedList:
package day23.t1;
import java.util.LinkedList;
import java.util.List;
public class TestLinkedList {
public static void main(String[] args) {
List l =new LinkedList();
l.add("A");
l.add("B");
l.add("C");
l.add("D");
for(int i =0 ; i<l.size();i++){
System.out.println(l.get(i));
}
System.out.println(l);
l.set(1, "F");
System.out.println(l.get(1));
Object obj = l.remove(2);
System.out.println(obj);
}
}
课后作业:
package day23.t2;
import java.util.ArrayList;
import java.util.List;
public class TestQ10_2 {
public static void main(String[] args) {
List<String> list =new ArrayList<String>();
list.add("Hello");
list.add("World");
list.add(1,"Learn");
list.add(1,"Java");
printList(list);
}
public static void printList(List list){
for(int i = 0; i<list.size();i++){
System.out.println(list.get(i));
}
}
}
效果图:
输出结果: Hello Java Learn World
(3). 声明时改为:
List list =new LinkedList();
使用上:ArrayList查询快,增删慢
LinkedList 查询慢,增删快
实现上:ArrayList为线性数组实现
LinkedList为链表型实现
(4).声明时改为:
List list=new Vector();
使用上Vector比ArrayList的安全性较高
实现上ArrayList运行效率比Vector快。
3.Hello
Learn
源代码:
package day23.t2;
import java.util.ArrayList;
import java.util.List;
public class TestQ10_3 {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
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));
}
}
}
运行效果图:
5.
package day23.t2;
import java.util.ArrayList;
import java.util.List;
public class TestQ10_5 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Worker("zhang3", 18,3000.0));
list.add(new Worker("li4", 25,3500.0));
list.add(new Worker("wang5", 22,3200.0));
list.add(1,new Worker("zhao6",24,3300.0));
list.remove(3);
for(int i =0; i<list.size();i++){
System.out.println(list.get(i));
}
}
}
class Worker{
private int age;
private String name;
private double salary;
public Worker(){}
public Worker(String name, int age, double salary){
this.age=age;
this.name=name;
this.salary=salary;
}
public void work(){
System.out.println(name+"work");
}
public String toString() {
return this.getName()+"\t"+this.getAge()+"\t"+this.getSalary();
}
public boolean equals(Worker obj) {
if(this == obj){
return true;
}
if(obj == null){
return false;
}
if(obj.getClass()!=this.getClass()){
return false;
}
Worker w=(Worker)obj;
if(this.getAge()==w.getAge() && this.getName().equals(w.getName()) &&this.getSalary()==w.getSalary()){
return true;
}
return false;
}
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;
}
}
运行效果图: