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