• List


    List 也是个接口  很多方法和Collection是重复的

      ### 注意remove()
      remove(具体对象)
      remove(index索引)    remove(11)      11不会自动装箱 就是删的 11索引位置的对象

    import java.util.ArrayList;
    import java.util.List;
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public class demon1_list {
        /*
         * A:List集合的特有功能概述
        * void add(int index,E element)
        * E remove(int index)
        * E get(int index)
        * E set(int index,E element)
         */    
        public static void main(String[] args) {        
            //demon1();
            List list = new ArrayList();
            list.add("a");
            list.add("b");
            list.add("c");
            list.add("d");
            //Object obj = list.remove("b");  // 返回的是true
            Object obj = list.remove(1);
            System.out.println(obj);
            System.out.println(list);
        }
    
        public static void demon1() {
            List list = new ArrayList();
            list.add("a");
            list.add("b");
            list.add("c");
            list.add("d");
            list.add(1,"e");
            //list.add(10, "z");  // 索引越界异常
            System.out.println(list);
        }
    
    }

      get(index) 这是List 集合特有的 Set集合就没有
      ### set(index,新值) 改变值

      List集合特有的遍历方式

    public static void main(String[] args) {
            List list = new ArrayList();
            list.add(new Student("张三",23));
            list.add(new Student("李四",24));
            list.add(new Student("王五",25));
            list.add(new Student("赵柳",26));
            
            for (int i = 0; i < list.size(); i++) {
                Student s1 = (Student)list.get(i);
                System.out.println(s1.getName());
            }
        }


    ### 集合在迭代时,修改元素 会报 并发修改异常ConcurrentModificationException
      解决方法:  用迭代器去修改元素
      ListIterator l = list.listIterator()
      l.add() // 可以修改了 不会报错了

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.ListIterator;
    
    import com.heima.bean.Student;
    public class demon3_list {
        /*
         * 需求:我有一个集合,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现。
         */
        public static void main(String[] args) {
            List list = new ArrayList();
            list.add("a");
            list.add("b");
            list.add("world");
            list.add("c");
            list.add("d");
            list.add("e");
            /*Iterator iterator = list.iterator();//获取迭代器
            while (iterator.hasNext()) {
                String s1 = (String)iterator.next();
                if ("world".equals(s1)) {
                    list.add("javaee");   // ConcurrentModificationException
                }*/
            ListIterator lit = list.listIterator();
            while (lit.hasNext()) {
                String s1 = (String) lit.next();
                if ("world".equals(s1)) {
                    //lit.add("javaee");
                    lit.remove();
                }
            }
            /* ConcurrentModificationException
             * 并发修改异常
             * 当方法检测到对 象的并发修改,但不允许这种修改时,抛出此异常。 
             */
    
            System.out.println(list);
            }
            
        }

      

    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    php 数组去重
    投票 页的做法 重点——学会进度条!!
    封装 类
    HPH-——>mysql 批量删除
    php->msql 多条件查询
    php-> msql 修改
    PHP ->masql 登录 增 删 改
    php 连接数据库
    Python 第十七章 序列化+os+sys+hashlib+collections
    Python 第十六章 自定义模块+time+datetime+random
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11305667.html
Copyright © 2020-2023  润新知