#千锋逆战班#

 

一在千锋学习的第二十三天。

每个阶段都需要努力扮演好自己的角色,越努力,越幸运。

集合:

集合的概念:对象的容器,存储对象的对象,可代替数组

特点:容器的工具类, 定义了对多个对象进行操作的常用方法

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值