List集合的特有功能概述和测试


接口 List<E>
所有超级接口: 	
	Collection<E>, Iterable<E> 
常见已知实现类: 
	ArrayList, LinkedList, Vector 
public interface List<E> extends Collection<E>
	有序的 collection(也称为序列)。
	此接口的用户可以对列表中每个元素的插入位置进行精确地控制。
	用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
	与 set 不同,列表通常允许重复的元素。

List集合的特有功能概述
	* void add(int index,E element)
	* E remove(int index)
	* E get(int index)
	* E set(int index,E element)

public E remove(int index)
	移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。 
public boolean remove(Object o);删除的时候不会自动装箱,把111当作索引
	移除此列表中首次出现的指定元素(如果存在)。
	如果列表不包含此元素,则列表不做改动。

import java.util.ArrayList;
import java.util.List;
import bean.Student;
public class h {
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List list = new ArrayList();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		System.out.println(list);//[a, b, c, d]
		list.add(4, "f");//index<=size并且index>=0都不会报异常
		System.out.println(list);//[a, b, c, d, f]
		list.add(1,"e");
		System.out.println(list);//[a, e, b, c, d, f]
		//list.add(10, "z");	//java.lang.IndexOutOfBoundsException,当存储时使用不存在的索引时
		System.out.println(list);
		
		Object obj = list.remove(1);//通过索引删除元素,将被删除的元素返回
		System.out.println(obj);//e
		System.out.println(list);//[a, b, c, d, f]
		
		List list1 = new ArrayList();
		list1.add(111);
		list1.add(222);
		list1.add(333);
		//list1.remove(111);//删除的时候不会自动装箱,把111当作索引
		System.out.println(list1);
		
		Object obj1 = list.get(2);
		System.out.println(obj1);//c
		//通过索引遍历List集合
		for(int i = 0;i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		
		list.set(1, "z");//将指定位置的元素修改
		System.out.println(list);
		
		
		List list2 = new ArrayList();
		list2.add(new Student("张三", 23));	//Object obj = new Student("张三",23);
		list2.add(new Student("李四", 24));
		list2.add(new Student("王五", 25));
		list2.add(new Student("赵六", 26));
		for(int i = 0; i < list2.size(); i++) {
			//System.out.println(list.get(i));//通过索引获取每一个元素
			Student s = (Student)list2.get(i);
			System.out.println(s.getName() + "..." + s.getAge());
		}
		
	}

}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值