大家好,我是蜀云泉。我的博文之中存在的不足之处希望大家包涵。

    今天学习unity时,在实现某个功能的脚本中发现了List数组。关于List数组的问题我在学C#时已经接触了一点,但是我比较粗心和浮躁以前学的已经忘的差不多啦,所以今天抽空研究了一下,为了大家更好的理解,我将使用C#的方式来讲,下面我们切入正题:

   一、声明方式:

    第一种声明方式:

1    List<string> mylist = new List<string>();

    第二种声明方式:

    string[] a = {"","","","" };
List<string> mylist = new List<string>(a);

    可以看到这两种方式都是差不多的,只不过第二种在声明时顺便赋了初值而已,list<string>这个尖括号里面的是这个数组的类型,可以是string,int,double,还可以是类名,以类名为类型的方式在unity中会经常用到。

   二、增:

    增加有三种方式,第一种是增加一个:

1   mylist.Add("");

        第二种是直接增加一群:   

    string[] b = {"蜀","云","泉"};
mylist.AddRange(b);

    第三种是插入:

    mylist.Insert(,"hello");

    这种增的方式有点特别,在下标为1的地方插入一个"hello",原来在mylist[1]的字符被挤到mylist[2]啦,哈哈,是不是有点鸠占鹊巢的味道。

   三、删:

    删除也有三种方式,第一种删除一个:  

     mylist.Remove("");

    第二种删除下标为*的元素: 

     mylist.RemoveAt();

    第三种删除是从*下标开始删除*个元素:   

1     mylist.RemoveRange(,);

    这是从mylist[1]开始删除,删除两个元素,也就是说mylist[1],mylist[2]位置上的元素被删除掉了,后面的元素会补上来。

   四、遍历:

    遍历很简单啦,和C#中的数组遍历是一模一样的 

     foreach (string j in mylist) {
Console.WriteLine(j);
}

   五、查:

    在mylist中查找某个元素:  

    if(mylist.Contains(""))
Console.WriteLine("有4这个元素");

   六、顺序:

    升序时如果是int的话就是从小到大排序的,代码如下: 

   int[] b = new int[] {,,, };
  List<int> bj = new List<int>(b);
  bj.Sort(); 5   foreach (int j in bj) {
Console.WriteLine(j);
  }

    效果图如下:

    

    升序时如果你的List还是string类型的话会根据首字母进行排序,代码如下:  

    string[] a = {"a啊","q泉","y云","c柴" };
List<string> mylist = new List<string>(a);
mylist.Sort(); foreach (string j in mylist) {
Console.WriteLine(j);
}

    效果图:

    

    但如果你的string数组是纯汉字就没办法了。。。。

    反转,就是把你现在的list的顺序给颠倒过来,注意这不是降序。直接上代码:

    mylist.Reverse();

    降序 ,降序很好实现,把你的list先升序,再反转就好了,这里不多说。

    七、清空和数目:

    清空:

    mylist.Clear();

    数目:

   mylist.Count();

   八、总结:

    好了,list数组的问题现在告一段落吧,希望对需要的人有些帮助。我要去准备下一个问题了,呵呵,生活就是这样,有无数的难题在等待着你,如果放任不管,说不定哪天就成为你最大的敌人,正对它们就是为自己的明天负责。再见。

  

    

List数组的更多相关文章

  1. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  4. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  5. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  6. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

  9. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  10. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

随机推荐

  1. 基准对象object中的基础类型----字典 (六)

    object有如下子类: CLASSES object basestring str unicode buffer bytearray classmethod complex dict enumera ...

  2. 「Link-Cut Tree」学习笔记

    Link-Cut Tree,用来解决动态树问题. 宏观上,LCT维护的是森林而非树.因此存在多颗LCT.有点像动态的树剖(链的确定通过$Access$操作),每条链用一颗$splay$维护.$spla ...

  3. Django media 配置

    Django  media 配置 settings.py 配置  配置 media 的路径, 以及连接到主路径 还要添加一个 上下文管理 TEMPLATES = [ { 'BACKEND': 'dja ...

  4. pax3 quick start guide

    pax3 quick start guide 外观图: 配置:1 * pax3 主机:2 * 吸嘴(一个平的,一个凸的):2 * 底盖(一个烟草的,一个烟膏的):3 * 过滤片:1 * USB充:1 ...

  5. 【比赛】NOIP2018 铺设道路

    原题,而且还是CCF自己的 考虑对于一段最长不上升序列,无论如何都至少有序列第一个数的贡献,可以知道,这个贡献是可以做到且最少的 然后对于序列最后一位,也就是最小的那一个数,可以和后面序列拼起来的就拼 ...

  6. 25 Zabbix系统数据表结构介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...

  7. maven手动安装jar包到本地仓库,以ojdbc6为例

    在做mybatis generator的中文注释实现时,感觉每次都要在配置文件中指定ojdbc6的位置太麻烦了,别人用也不方便,没有的还得自己去下,所以就想直接把ojdbc6打包到项目里,这样拿到就可 ...

  8. 【转】void 详解

    void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型: 2. 如果函数无参数,那么应声明其参数为void: 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void ...

  9. 「SCOI2014」方伯伯运椰子 解题报告

    「SCOI2014」方伯伯运椰子 可以看出是分数规划 然后我们可以看出其实只需要改变1的流量就可以了,因为每次改变要保证流量守恒,必须流成一个环,在正负性确定的情况下,变几次是无所谓的. 然后按照套路 ...

  10. Python基础教程2#练习使用参数的疑难杂点分析

    在书上120页,一个案例是练习使用参数,有可能新手朋友们有可能对有些地方看不懂,在这里讲解出来,仅供大家学习. 这是代码,注释部分是我的解释: #coding:utf-8 #练习使用参数实例.py d ...