• Java自学笔记(23):【集合】List接口


    public interface List<E> extends Collection<E>

    add(int index,E element),在index位置插入element

    addAll(int index,Collection<? Extends E > c ) 在index位置添加一组c元素,若添加后集合中的值发生变化,则返回true

    get(index) 返回index位置的元素

    indexOf(Object o) 查找指定元素的位置,若有多个则返回第一个,若没有则返回-1

    lastIndexOf(Object 0) 从后向前查找,和IndexOf相同

    listIterator() 实例化ListIterator接口

    remove(int index) 删除指定位置的元素

    subList(int from, int to) 取出从from到to的子集和

    方法演示

    import java.util.ArrayList;
    import java.util.List;
    import java.util.ListIterator;
    
    public class ListDemo {
    
        public static void main(String[] args) {
            //关键方法的使用
            //实例化
            List <String> list = new ArrayList<String>();
            //add方法
            //添加元素
            list.add("1");
            //遍历
            traverse(list);
            //在第一个位置添加2
            list.add(0,"2");
            traverse(list);
            //在第二个位置添加8
            list.add(1,"8");
            traverse(list);
            //在第一个位置添加自身
            list.addAll(0,list);
            traverse(list);
            
            //indexOf方法
            //查找元素2所在位置
            System.out.println(list.indexOf("2"));  //最先出现2
            System.out.println(list.lastIndexOf("2"));  //最后出现2
            
            //listIterator() 遍历
            ListIterator<String> listIterator = list.listIterator();
            while(listIterator.hasNext()) {
                System.out.print(listIterator.next()+" ");
            }
            System.out.println();
            
            //删除
            System.out.println(list.remove(1));   //删除1位置
            traverse(list);
            
            //截取子集合
            List<String> list01=list.subList(2,4);
            traverse(list01);
            
            //替换
            list.set(3,"7");
            traverse(list);
        }
        public static void traverse(List<String> list) {
            //遍历
            for(int i=0;i<list.size();i++) {
                System.out.print(list.get(i)+" ");
            }
            System.out.println();
        }
    }

    每天一个知识点啦

  • 相关阅读:
    权值线段树 学习笔记
    Codeforces Round #585 (Div. 2)
    a题解
    01Trie学习笔记
    学习笔记--线段树合并与分裂
    [NOIP10.6模拟赛]1.merchant题解--思维+二分
    [NOIP10.6模拟赛]2.equation题解--DFS序+线段树
    [NOIP10.5模拟赛]1.a题解--离散化+异或线段树
    [NOIP10.5模拟赛]3.c题解--思维
    [NOIP10.3模拟赛]3.w题解--神奇树形DP
  • 原文地址:https://www.cnblogs.com/tkj521Ya/p/11306922.html
Copyright © 2020-2023  润新知