美文网首页
List|List特有的方法|ListIterator迭代器

List|List特有的方法|ListIterator迭代器

作者: 像天空的鸽子 | 来源:发表于2019-07-30 14:36 被阅读0次

集合的体系:

----------| Collection 单列集合 的根接口
--------------| List 如果是实现了List接口的集合类,该集合类具备的特点:有序,可重复。
--------------| Set 如果是实现了Set接口的集合类,该集合类具备的特点: 无序,不可重复。

有序: 集合的有序不是指自然顺序,而是指添加进去的顺序与元素出来的顺序是一致的。

List接口中特有方法:

  • 添加
    add(int index, E element)
    addAll(int index, Collection<? extends E> c)

  • 获取:
    get(int index)
    indexOf(Object o)
    lastIndexOf(Object o)
    subList(int fromIndex, int toIndex)

  • 修改:
    set(int index, E element)

  • 迭代
    listIterator()

 package cn.itcast.list;

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

public class Demo1 {

    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        list.add("赵六");
        System.out.println("集合的元素:"+ list);
        
        
    }
    
}

List特有的方法

List接口中特有方法:

  • 添加
    add(int index, E element)
    addAll(int index, Collection<? extends E> c)

  • 获取:
    get(int index)
    indexOf(Object o)
    lastIndexOf(Object o)
    subList(int fromIndex, int toIndex)

  • 修改:
    set(int index, E element)

List接口中特有的方法具备的特点: 操作的方法都存在索引值。

只有List接口下面的集合类才具备索引值。其他接口下面的集合类都没有索引值。

ctrl + shift + / 添加多行注释

ctrl + shift + \ 取消多行注释.

package cn.itcast.list;

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

public class Demo2 {
    
    public static void main(String[] args) {
        List list=  new ArrayList();
        list.add("狗娃");
        list.add("狗剩");
        list.add("铁蛋");  //把元素添加到集合的末尾处。
        list.add("狗娃");
        
           //添加方法
        list.add(1, "赵本山"); // 把元素添加到集合中的指定索引值位置上。
        List list2 = new ArrayList();
        list2.add("本山");
        list2.add("小沈阳");
        list.addAll(2,list2); //把list2的元素添加到list集合指定索引值的位置上。
         
        //获取的方法 
        System.out.println("get方法获取元素:"+list.get(1)); //根据索引值获取集合中的元素
        使用get方法遍历集合的元素:
        for (int i = 0; i < list.size() ; i++) {
            System.out.print(list.get(i)+",");
        }
        
        System.out.println("找出指定元素第一次出现在集合中 的索引值:"+ list.indexOf("本山"));
        System.out.println("找指定的元素最后一次出现在集合中的索引值:"+list.lastIndexOf("狗娃"));
        List subList = list.subList(1, 3); //指定开始与结束的索引值截取集合中的元素。
        System.out.println("子集合的元素是:"+ subList);
        list.set(3, "赵本山"); //使用指定的元素替换指定索引值位置的元素。
        
        System.out.println("集合的元素:"+list);
        
    }

}

ListIterator迭代器

迭代
listIterator()

ListIterator特有的方法:

  • 添加:
    hasPrevious() 判断是否存在上一个元素。
    previous() 当前指针先向上移动一个单位,然后再取出当前指针指向的元素。

    next(); 先取出当前指针指向的元素,然后指针向下移动一个单位。


  • add(E e) 把当前有元素插入到当前指针指向的位置上。
  • set(E e) 替换迭代器最后一次返回的元素。
package cn.itcast.list;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class Demo3 {
    
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("狗娃");
        list.add("狗剩");
        list.add("铁蛋");
        list.add("美美");
        
        ListIterator it = list.listIterator(); //返回的是一个List接口中特有的迭代器
        System.out.println("有上一个元素吗?"+ it.hasPrevious());
        System.out.println("获取上一个元素:"+it.previous());
        it.next();
        System.out.println("获取上一个元素:"+ it.previous());
        
        
        while(it.hasNext()){
            it.next();
        }
        
        while(it.hasPrevious()){
            System.out.println("元素:"+ it.previous());
        }
        
        
        it.next();
        it.next();
        it.add("张三");
        
        it.next();
        it.next();
        it.set("张三");
                
        System.out.println("集合的元素:"+ list);

    }

}

相关文章

网友评论

      本文标题:List|List特有的方法|ListIterator迭代器

      本文链接:https://www.haomeiwen.com/subject/fbcnrctx.html