List相关知识点.......课堂加整理

package lis0924;
//接口List(列表)

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Text 
{

	public static void main(String[] args) 
	{
		List<Person> lsp=new ArrayList<Person>();
		//添加数据
		Person p3=new Person("A",20);
		
		lsp.add(p3);
		lsp.add(new Person("B",30));
		lsp.add(new Person("C",40));
		lsp.add(p3);
		lsp.add(p3);
	
		//添加子类
		lsp.add(new Student("E",50));
	
		//获取长度
		System.out.println("长度="+lsp.size());
	
		//查询数据 查找某个数据所在位置的索引  -1代表没找到
		System.out.println("查找结果="+lsp.indexOf(p3));
		//判断是否存在
		System.out.println("是否查到"+lsp.contains(p3));
		
		
		System.out.println("for循环:...................");
		//遍历集合
		//1.  for 循环
		for(int i=0;i<lsp.size();i++)
		{
			System.out.println(i+"="+lsp.get(i));
		}
		
		
		//2.foreach
		System.out.println("foneach方式..................");
		for(Person p:lsp)
		{
			System.out.println(p);
		}
		
		//3.迭代器
		
		System.out.println("迭代器:...................");
		//获取迭代器
		//迭代器可以看做是一个指针
		//获取迭代器的时候,指针处于第一台记录的前面,在集合外边
		
		Iterator<Person> it=lsp.iterator();//Iterator<泛型>迭代器名称=集合对象.iterator<>
		
		//判断能否移动指针
		while(it.hasNext())
		{
			//移动指针到下一条数据,同时获取数据
			Person p=it.next();
			System.out.println(p);
			
			//移除数据
			if(p==p3)
			{
				it.remove();
			}
		}
		//插入数据
	
		//lsp.add(index, element);
		lsp.add(3,new Person("D",20));
		System.out.println("索引是3的数据是="+lsp.get(3));//读取数据
		
	
		//修改数据
		lsp.set(0, new Person("F",30));
		//获取长度
		System.out.println("长度="+lsp.size());
	
		//获取读取单个元素
		System.out.println("0号索引是="+lsp.get(0));//读取数据
	
		//获取数据的所有属性
		System.out.print(lsp.toString());
	
		//移除数据
		lsp.remove(1);
		System.out.println("长度="+lsp.size());
		//System.out.println(lsp.toString());
	
		//清除数据
		lsp.clear();
		System.out.println("长度="+lsp.size());
	}
	

}

  

package lis0924;

public class Person {
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public Person() {
		super();
	}
	//重写返回属性的值
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
	
	//成员方法  业务逻辑
	
	
	

}

  

package lis0924;

public class Student extends Person {

	
	Student(String name,int age)
	{
		super(name,age);//返回父类,重写父类方法
	}

	public Student() {
		super();
		
	}
	

}

  

原文地址:https://www.cnblogs.com/liuyanzeng/p/5906782.html