一在千锋学习的第二十三天。
每个阶段都需要努力扮演好自己的角色,越努力,越幸运。
集合:
集合的概念:对象的容器,存储对象的对象,可代替数组
特点:容器的工具类, 定义了对多个对象进行操作的常用方法
Collection 体系集合:
1)Collection 父接口:该体系结构的根接口,代表一组对象称为“集合”,每个对象都是该集合的“元素”
2)List 接口的特点:有序,有下标,元素可重复
3)Set 接口的特点:无序,无下标,元素不可重复
2List 子接口
1)特点:有序,有下标,元素可重复
2)继承可父接口提供的共性方法,同时定义了一些独有的与下标相关的操作方法
package com.qif.day22.ti;
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){
for(int i =0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
要求:如果实现类由ArrayList 换为LinkedList 应该改哪里?ArrayList和LinkedList 使用上有啥区别,实现上有什麽区别?
如果要把实现类由ArrayList换为Vector 应该改哪里?ArrayList 和Vector
使用上有什么区别?实现上有什么去呗
一:改new 的对象,把ArrayList改为LinkedList
ArrayList 使用是查询快,增删慢,LinkedList使用是查询慢 增删块
同样把ArrayList改为new Vector
Vector和ArrayList 使用上非常相似,都是查询快,增删慢
package com.qif.day22.ti;
import java.util.*;
public class TestList1 {
public static void main(String[] args) {
List list =new ArrayList();
list.add("Hello");
list.add("World");
list.add("Hello");
list.add("Learn");
list.add("Hello");
list.remove(0);
for(int i =0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
World
Hello
Learn
Hello
完成下面的要求:
创建一个List 在List 中增加三个工人,基本信息如下
姓名 年龄 工资
zhang3 18 3000
li4 25 3500
wang5 22 3200
||在li4之前插入一个工人,信息名为 zhao6 24 3300
||| 删除wang5的信息
|||| 利用循环遍历 打印LIstanbul中所有的工人的信息
为Worker 类添加equals方法
package com.qif.day22.ti;
import java.util.*;
public class TestList2 {
public static void main(String[] args) {
List list = new ArrayList();
Worker w1 =new Worker(18,"zahngsan",3000.0);
Worker w2 =new Worker(25,"li4",3500.0);
Worker w3 =new Worker(22,"wang5",3200.0);
Worker w4 =new Worker(24,"zhao6",3300.0);
list.add(w1);
list.add(w2);
list.add(w3);
list.add(1,w4);
list.remove(3);
for(int i =0;i<list.size();i++){
System.out.println(list.get(i).toString());
}
boolean result =w1.equals(w2);
System.out.println(result);
}
}
class Worker{
private int age;
private String name;
private double salary;
public Worker(){}
public Worker(int age, String name, double salary) {
super();
this.age = age;
this.name = name;
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");
}
@Override
public String toString() {
return age +"\t"+name+"\t"+salary+"\t";
}
public boolean aquals(Object obj){
if(this==obj){
return true;
}
if(obj==null){
return false;
}
if(this.getClass()!=obj.getClass()){
return false ;
}
Worker stu =(Worker)obj;
if(this.age==stu.age && this.name==stu.name&& this.salary==stu.salary){
return true;
}
return false;}
}