Java集合——List接口

  • 特点:有序、有下标、元素可以重复。

  • 方法:

void add(int index,Object o) //在index位置插入对象o。
boolean addAll(index,Collection c) //将一个集合中的元素添加到此集合中的index位置。
Object get(int index) //返回集合中指定位置的元素。
List subList(int fromIndex,int toIndex) //返回fromIndex和toIndex之间的集合元素。

List子接口的使用:

/**
 * List子接口的使用(一)
 * 特点:1.有序有下标 2.可以重复
 * 
 * 1.添加元素
 * 2.删除元素
 * 3.遍历元素(相比collection,多了3.1 for循环和 3.4 ListIterator列表迭代器)
 * 4.判断
 * 5.获取位置
 */
public class Demo3 {
	public static void main(String[] args) {
		List list=new ArrayList<>();
		
		//1.添加元素
		list.add("苹果");
		list.add("小米");
		list.add(0,"华为");//插入操作,在"0"位置上插入"华为"
		System.out.println("元素个数:"+list.size());//3
		System.out.println(list.toString());//[华为,苹果,小米]
		
		//2.删除元素
		list.remove(0); //删掉第一个元素
		//list.remove("华为"); 结果同上
		System.out.println("删除之后:"+list.size());
		System.out.println(list.toString());
		
		//3.遍历元素
		//3.1 使用for遍历
		for(int i=0;i<list.size();++i) {
			System.out.println(list.get(i));
		}
		//3.2 使用增强for(foreach回车)
		for(Object object:list) {
			System.out.println(object);
		}
		//3.3 使用迭代器
		Iterator iterator=list.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		//3.4使用列表迭代器,listIterator可以双向遍历,添加、删除及修改元素。
		ListIterator listIterator=list.listIterator();
		//从前往后
		while (listIterator.hasNext()) {
			System.out.println(listIterator.next());		
		}
		//从后往前(此时“遍历指针”已经指向末尾)
		while(listIterator.hasPrevious()) {
			System.out.println(listIterator.previous());
		}
		
		//4.判断
		System.out.println(list.isEmpty());
		System.out.println(list.contains("苹果"));
		
		//5.获取位置
		System.out.println(list.indexOf("苹果"));
	}
}

如果list集合添加的数据是数字类型,举例如下:

/**
 * List子接口的使用(二)
 * 1.添加数字数据(自动装箱)
 * 2.删除元素
 * 3.遍历元素
 * 4.判断
 * 5.获取位置
 * 6.subList:返回子集合,含头不含尾
 */
public class Demo4 {
	public static void main(String[] args) {
		List list=new ArrayList();
		//1.添加数字数据(自动装箱)
		list.add(20);
		list.add(30);
		list.add(40);
		list.add(50);
		list.add(60);
		System.out.println("元素个数:"+list.size());
		System.out.println(list.toString());
		
		//2.删除元素
		list.remove(0); //根据下标删除,删除第一个元素
		//list.remove(20);很明显数组越界错误,改成如下
		//list.remove(Object(20));
		//list.remove(new Integer(20));
		System.out.println("元素个数:"+list.size());
		System.out.println(list.toString());
		
		//3-5不再演示,与之前类似
		
		//6.补充方法subList,返回子集合,含头不含尾
		List list2=list.subList(1, 3);
		System.out.println(list2.toString());	
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值