zoukankan      html  css  js  c++  java
  • 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);
            }
            
        }

      

    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    ant 软件包不存在报错
    在 Internet Explorer 中使用 Windows 窗体控件
    智能客户端
    Back to the Future with Smart Clients
    "Automation 服务器不能创建对象" 的解决方案
    Top 10 Reasons for Developers to Create Smart Clients
    Updater Application Block for .NET
    Smart Client Application Model and the .NET Framework 1.1
    Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients
    智能客户端技术总结(二)
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11305667.html
Copyright © 2011-2022 走看看