List<T>用法总结

  

  

  1.   static void Main(string[] args)
  2.   {
  3.   Person p1 = new Person( "aladdin" , 20 );
  4.   Person p2 = new Person("zhao", 10);
  5.   Person p3 = new Person("jacky", 40);
  6.   List&lt;Person&gt; list = new List&lt;Person&gt;(4);
  7.   list.Add(p1);
  8.   list.Add(p2);
  9.   list.Add(p3);
  10.   list.TrimExcess();

  static void Main(string[] args)

  {

  Person p1 = new Person( "aladdin" , 20 );

  Person p2 = new Person("zhao", 10);

  Person p3 = new Person("jacky", 40);

  List&lt;Person&gt; list = new List&lt;Person&gt;(4);

  list.Add(p1);

  list.Add(p2);

  list.Add(p3);

  list.TrimExcess();

  1 、初始化集合器  

List<int> l2 = new List<int>() { 1 ,2 ,3 ,4 ,5 };  

  2、 添加元素

  

  1. List&lt;Person&gt; lists = new List&lt;Person&gt;(10);
  2.   list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});
  3.   List&lt;Person&gt; mylist = new List&lt;Person&gt;(new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});

List&lt;Person&gt; lists = new List&lt;Person&gt;(10);

  list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});

  List&lt;Person&gt; mylist = new List&lt;Person&gt;(new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});  

  3、 插入元素  

  1.  mylist.Insert( 1 , new Person( "jacky" , 88 ));
  2.   foreach (Person p in mylist)
  3.   {
  4.   Console.WriteLine(p.name);
  5.   }

 mylist.Insert( 1 , new Person( "jacky" , 88 ));

  foreach (Person p in mylist)

  {

  Console.WriteLine(p.name);

  }

  4 、访问元素   

  1. Console.WriteLine( "---------访问元素-----------");
  2.   for (int i = 0; i &lt; mylist.Count; i++)
  3.   {
  4.   Console.WriteLine(mylist[i].name);
  5.   }

Console.WriteLine( "---------访问元素-----------");

  for (int i = 0; i &lt; mylist.Count; i++)

  {

  Console.WriteLine(mylist[i].name);

  }

  5、删除元素  

  1. mylist.RemoveAt(0);
  2.   List&lt;Person&gt; lists2 = new List&lt;Person&gt;(10);
  3.   Person per1 = new Person( "aladdin" , 100 );
  4.   Person per2 = new Person("zhao", 100);
  5.   Person per3 = new Person("jacky", 100);
  6.   lists2.Add(per1);
  7.   lists2.Add(per2);
  8.   lists2.Add(per3);
  9.   lists2.Remove(per3);
  10.   Console.WriteLine( "-------删除后的元素---------");
  11.   foreach (Person per in lists2)
  12.   {
  13.   Console.WriteLine(per.name);
  14.   }

mylist.RemoveAt(0);

  List&lt;Person&gt; lists2 = new List&lt;Person&gt;(10);

  Person per1 = new Person( "aladdin" , 100 );

  Person per2 = new Person("zhao", 100);

  Person per3 = new Person("jacky", 100);

  lists2.Add(per1);

  lists2.Add(per2);

  lists2.Add(per3);

  lists2.Remove(per3);

  Console.WriteLine( "-------删除后的元素---------");

  foreach (Person per in lists2)

  {

  Console.WriteLine(per.name);

  }

  6 、搜索     

  1. List&lt;Person&gt; ls3 = new List&lt;Person&gt;(10);
  2.   Person person1 = new Person("aladdin", 100);
  3.   Person person2 = new Person("zhao", 100);
  4.   Person person3 = new Person("jacky", 100);
  5.   ls3.Add(person1);
  6.   ls3.Add(person2);
  7.   ls3.Add(person3);
  8.   int index = ls3.IndexOf(person3);
  9.   Console.WriteLine( "per3 的索引:" + index);
  10.   int index2 = ls3.IndexOf(person3,2,1);
  11.   Console.WriteLine(index2);
  12.   int index3 = ls3.FindIndex(param =&gt; param.name.Equals("jacky"));
  13.   Console.WriteLine( index3 );
  14.   int index4 = ls3.FindLastIndex(p =&gt; p.name.Equals("aladdin"));
  15.   Console.WriteLine(index4);
  16.   Person ppp = ls3.Find( p =&gt; p.name.Equals("jacky")) ;
  17.   Console.WriteLine(ppp);
  18.   List&lt;Person&gt; newList = ls3.FindAll(p =&gt; p.age == 100);
  19.   Console.WriteLine( "----------查找所有---------");
  20.   foreach (Person p in newList)
  21.   {
  22.   Console.WriteLine(p.name);
  23.   }

List&lt;Person&gt; ls3 = new List&lt;Person&gt;(10);

  Person person1 = new Person("aladdin", 100);

  Person person2 = new Person("zhao", 100);

  Person person3 = new Person("jacky", 100);

  ls3.Add(person1);

  ls3.Add(person2);

  ls3.Add(person3);

  int index = ls3.IndexOf(person3);

  Console.WriteLine( "per3 的索引:" + index);

  int index2 = ls3.IndexOf(person3,2,1);

  Console.WriteLine(index2);

  int index3 = ls3.FindIndex(param =&gt; param.name.Equals("jacky"));

  Console.WriteLine( index3 );

  int index4 = ls3.FindLastIndex(p =&gt; p.name.Equals("aladdin"));

  Console.WriteLine(index4);

  Person ppp = ls3.Find( p =&gt; p.name.Equals("jacky")) ;

  Console.WriteLine(ppp);

  List&lt;Person&gt; newList = ls3.FindAll(p =&gt; p.age == 100);

  Console.WriteLine( "----------查找所有---------");

  foreach (Person p in newList)

  {

  Console.WriteLine(p.name);

  }

  7 、排序   

  1. List&lt;Person&gt; ls4 = new List&lt;Person&gt;(10);
  2.   Person person4 = new Person("aladdin", 100);
  3.   Person person5 = new Person("zhao", 33);
  4.   Person person6 = new Person("jacky", 44);
  5.   ls4.Add(person4);
  6.   ls4.Add(person5);
  7.   ls4.Add(person6);
  8.   ls4.Sort(MyComparFunc);
  9.   Console.WriteLine( "------排序后的-------");
  10.   foreach (Person p in ls4)
  11.   {
  12.   Console.WriteLine(p.name+ p.age );
  13.   }
  14.   Console.WriteLine( "--------颠倒循序--------");
  15.   ls4.Reverse();
  16.   foreach (Person p in ls4)
  17.   {
  18.   Console.WriteLine(p.name+ p.age);
  19.   }

List&lt;Person&gt; ls4 = new List&lt;Person&gt;(10);

  Person person4 = new Person("aladdin", 100);

  Person person5 = new Person("zhao", 33);

  Person person6 = new Person("jacky", 44);

  ls4.Add(person4);

  ls4.Add(person5);

  ls4.Add(person6);

  ls4.Sort(MyComparFunc);

  Console.WriteLine( "------排序后的-------");

  foreach (Person p in ls4)

  {

  Console.WriteLine(p.name+ p.age );

  }

  Console.WriteLine( "--------颠倒循序--------");

  ls4.Reverse();

  foreach (Person p in ls4)

  {

  Console.WriteLine(p.name+ p.age);

  }

  8 、类型转换   

  1. List&lt;Racer&gt; ls5 = ls4.ConvertAll&lt;Racer&gt;((input) =&gt; new Racer(input.name)) ;
  2.   Console.WriteLine( "-----------转换后的玩意--------");
  3.   foreach (Racer r in ls5)
  4.   {
  5.   Console.WriteLine(r.name);
  6.   }

List&lt;Racer&gt; ls5 = ls4.ConvertAll&lt;Racer&gt;((input) =&gt; new Racer(input.name)) ;

  Console.WriteLine( "-----------转换后的玩意--------");

  foreach (Racer r in ls5)

  {

  Console.WriteLine(r.name);

  }

  9、 只读集合   

  1. ReadOnlyCollection&lt;Racer&gt; persss =  ls5.AsReadOnly();
  2.   Console.WriteLine("输出只读集合");
  3.   foreach (Racer r in persss)
  4.   {
  5.   Console.WriteLine(r.name);
  6.   }
  7.   Console.ReadLine();

List<T>用法总结【转】的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

  10. [转]thinkphp 模板显示display和assign的用法

    thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...

随机推荐

  1. Median of Two Sorted Arrays (找两个序列的中位数,O(log (m+n))限制) 【面试算法leetcode】

    题目: There are two sorted arrays A and B of size m and n respectively. Find the median of the two sor ...

  2. 在国内使用cnpm代替npm

    npm是Node.js的模块依赖管理工具,由于使用npm安装包是从国外服务器下载,在国内很容易受到网络的影响,速度非常慢,因此可以选用cnpm.cnpm可以使用淘宝团队提供的淘宝npm镜像,你可以用此 ...

  3. 基于angularJS和requireJS的前端架构

    1.概要描述 1.1.angularJS描述:angularJS是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案.通过开发者呈现一个更高层次的抽象来简化应用的开发.最适合的就是用它来 ...

  4. ff与ie 的关于js兼容性

    FF的FIREBUG,不仅能测试JS还能检查CSS错误,是一般常用的.但它主要检查FF方面的错误,对IE就无能为力了.要测试IE,就用ieTester,它可以测试IE几乎所有版本(1.0恐怕也用不到测 ...

  5. Sybase配置数据库参数

    Sybase配置数据库参数参数配置的两种方法:sp_configure ‘参数名称’,参数值修改参数文件(如:Sybase主机上的 %SYBASE%\servername.cfg) 配置Sybase数 ...

  6. linux上大量tcp端口处于TIME_WAIT的问题

    今天发现网站突然无法访问,登陆webserver已经无法连接mysql,转战mysql一看,发现竟然有三千多个TIME_WAIT连接,擦,被SYN攻击了?百度&&google,发现通过 ...

  7. Android 学习笔记(一)

    环境配置在网上搜索的一大堆. 这里简单发几个连接. http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html http://jing ...

  8. Convert Sorted List to Binary Search Tree java

    public TreeNode sortedListToBST(ListNode head) { if(head==null) return new TreeNode(0); ArrayList< ...

  9. 在Red Hat Enterprise Linux 5 64-bit安装oracle11g r2

    网上这种文档一搜就一堆,没别的目的,刚接触oracle为了加深理解记忆.只要是跟我的版本一样操作系统和oracle软件,按照步骤肯定可以成功安装 在虚拟机上安装Red Hat Enterprise L ...

  10. 宏定义 define

    #define kOut -1 用一个字符串代替一个数据 用kOut表示-1(一般开头有一个小写的k) 作用: 1.为了让一些数据有意义 #define kUseId asdjlfdjafa #def ...