JAVA集合学习List

List是Collection接口的子接口,其是有序集合增加了一些根据索引操作元素的方法;

List l = new ArrayList();
l.add(1);
l.add(2);
l.add(3);
//将元素5插入2位置;(原来2位置元素移到3位置)
l.add(1,5);
//将元素5插入2位置;(原来2位置元素被替换)
l.set(1,5);
//c为另一个集合,把集合c的元素加到l的l的3位置;
l.addAll(2,c);
//返回位置1的元素;
l.get(0);
//返回对象3的元素位置索引;
l.indexOf(3);
//返回对象3位置索引倒数;
l.lastIndexOf(3);
//删除索引2处的元素;
l.remove(1);
//返回索引2,3之间的元素
l.subList(1,2);

 与Set接口提供的iterator()不同,List接口提供了listIterator()方法,返回一个ListIterator对象,该对象提供一些额外的操作List元素的方法;

--boolean hasPrevious()返回该迭代器关联的集合是否还有上一个元素;(能向后迭代)

--Object previous()返回带迭代器的上一个元素;

--void add()在指定位置插入一个元素;(不仅能删还能增加元素)

 

List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
ListIterator lit = list.listIterator();
//要先正向迭代
while(lit.hasNext){
   System.out.println(lit.next());
   //迭代过程添加元素
  lit.add("添加的元素");
}
//再反向迭代
while(lit.hasPrevious()){
  System.out.println(lit.previous());
}

 

-----ArrayList,Vector是List的2个典型实现

Vector提供一个Stack子类,模拟栈(LIFO),提供以下方法:

-Object peek(),返回栈的第一个元素,但不将元素pop出栈;

-Object pop(),将第一个元素出栈;

-void push(Object item)将元素进栈;

Stack v = new Stack();
v.push("a");
v.push("b");
v.push("c");
//输出[a,b,c]
System.out.println(v);
//输出c
System.out.println(v.peek());
//暑促[a,b]
v.pop();
System.out.println(v);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值