千锋逆战班,Day23

在千锋逆战学习的第23天
日日行,不怕千万里,日日做,不怕千万事!加油!
今天学习了集合的概念、Collection体系集合、List子接口和List实现类。

今天的作业如下:
2.有如下代码

import java.util.*;

public class TestList {
	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){
		//1
	}
}

在这里插入图片描述
I.1处的代码如下

public static void printList(List list){
		//1
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
			
		}
	}

II.程序执行的结果
在这里插入图片描述
III.改new的对象,把ArrayList改为LinkedList,ArrayList时数组结构实现,查询快、增删慢,LinkedList是链表结构实现,增删快、查询慢。
IV.把ArrayList改为Vector,两个都是数组结构实现,ArrayList运行效率快、线程不安全,Vector运行效率慢、线程安全

3.写出下面程序的运行结果

import java.util.*;
public class TestList {

	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.已知有一个Worker类如下:

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

在这里插入图片描述
代码如下:

import java.util.*;
public class TestWorker {
	public static void main(String[] args) {

		List<Worker> workers = new ArrayList<Worker>();
		
		Worker w1 = new Worker("zhang3",18,3000.0);
		Worker w2 = new Worker("li4",25,3500.0);
		Worker w3 = new Worker("wang5",22,3200.0);
		Worker w4 = new Worker("zhao6",24,3300.0);
		
		workers.add(w1);
		workers.add(w2);
		workers.add(w3);
		
		System.out.println("-----打印List中所有工人信息------------------");
		workers.add(1, w4);//在li4之前插入zhao6
		workers.remove(w3);//删除wang5的信息
		
		for (int i = 0; i <workers.size() ; i++) {
			System.out.println(workers.get(i));
		}
		
		System.out.println("-----for-each遍历,对所有工人调用work方法--------------------");
		for (Worker w : workers) {
			w.work();
		}
		
		System.out.println("-----用equals方法比较------------------");
		System.out.println(w1.equals(w2));
	}
}

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");
	}
	
	//覆盖toString方法
	public String toString(){
		return "姓名:"+name + "\t年龄:"+age + "\t工资:"+salary;
	}

	//添加equals方法
	@Override
	public boolean equals(Object obj) {
		//比较地址是否一样
		if(this==obj){
			return true;
		}
		//确认对象不能为null
		if(obj == null){
			return false;
		}
		//确认类型
		if(obj.getClass() != this.getClass()){
			return false;
		}
		//转型
		Worker w = (Worker)obj;
		//比较内容
		if(this.name.equals(w.name) && this.age==w.age && this.salary==w.salary){
			return true;
		}
		return false;
	}
}

运行结果:
在这里插入图片描述
欢迎指正

发布了24 篇原创文章 · 获赞 1 · 访问量 725

猜你喜欢

转载自blog.csdn.net/weixin_46286064/article/details/104662692
今日推荐