zoukankan      html  css  js  c++  java
  • ArrayList 跟 List 比较和用法

            #region ArrayList
                ArrayList list = new ArrayList();
                //新增数据
                list.Add("abc");
                list.Add(123);
    
                //修改数据
                list[0] = 345;
    
                //移除数据
                list.RemoveAt(2);   //删除索引=2的元素
                list.Remove(345);   //从前(索引 0)往后查找,删除找到的第一个值是345的元素
                //插入数据
                list.Insert(0, "hello1 world");  //这样操作的时候会导致之前索引为0以及以后的值都往后移动一个位置  
                list.Add("a");
                list.Add("b");
                list.Add("c");
                list.RemoveRange(2, 2);//从索引 index 开始,删除 count 个元素
                list.Clear();   //删除所有的元素
                                //获取元素值
                                //int value1 = list[3];     //这个会报错:object类型不能转化
                                //成int类型,所以,所有塞进ArrayList里面的都会被转换成object类
                                //型(装箱的过程:就是将值类型的数据打包到引用类型)
    
                //查找元素
                list.Add("a");
                list.Add("b");
                list.Add("c");
                list.Add("d");
                list.Add("c");
                list.Add("e");
                list.Add("f");
                int index =list.IndexOf("c");//从前(索引 0)往后查找,返回找到的第一个 值=c 的索引
                int index1 =list.IndexOf("c",3);//从前(索引 0)往后查找,返回找到的第一个 值=c 并且从第三个索引值开始找返回的索引值
                int index2 =list.IndexOf("e",2,4);//从前(索引 0)往后查找,返回找到的第一个 值=e 
                                                  //并且从第2个索引值开始找只找连续的4个索引值(4个索引值里面包括第二个索引)
                int index3 = list.LastIndexOf("e");//从后往前找,找到e的索引值
                int value = (int)list[3];//用下面的语句从 ArrayList 里面取出对应的值(拆箱的过程,就是从引用数据中提取值类型)
                #endregion
            #region List
            //由于塞进ArrayList所有的值都进行了装箱,转换成了object,这个过程是很浪费资源的
            //所以泛型List才被引入
            List<int> lsTest = new List<int>();
            lsTest.Add(7);
            lsTest.Add(5);
            lsTest.Add(1);
            lsTest.Add(3);
            //lsTest.Add("hello world");  //这个是错误的,因为塞入的对象是string
            int value1 = lsTest[2]; //不需要进行拆箱的动作
    
                //遍历List中元素:
            List<string> mList = new List<string>();
            foreach (string s in mList)
            {
                Console.WriteLine(s);
            }
    
            //List也可以groupby和orderby,需要的时候再更新吧
            #endregion
  • 相关阅读:
    JavaWeb下载文件response
    jQuery的prop和attr的区别,及判断复选框是否选中
    【转载并整理】mysql 创建用户,数据库
    【转载】mysql配置模板(my-*.cnf)参数详细说明
    【转载】mysql 热备份
    【转载】centos 安装及配置 mysql5.5.3
    【微信开发】简单的微信分享小插件
    一些http或https请求的参数,什么情况下需要urlencode编码
    sublime在混杂的log数据中提取你想要的内容
    聊聊分布式事务【转】
  • 原文地址:https://www.cnblogs.com/ziqiumeng/p/10569291.html
Copyright © 2011-2022 走看看