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. XMPP通讯开发-1

    有关XMPP的相关知识这里就不讲解了,网上有很多,这里我使用的NetBeans+Openire+smack搭建一个以XMPP协议的通讯工具,对于这部分知识我也不是很了解,也是初识吧,可能有些概念会混淆 ...

  2. Ajax跨域访问解决办法

    方法1. jsonp实现ajax跨域访问示例 jsp代码: <body> <input type="button" onclick="testJsonp ...

  3. WINDOWS 下搭建 OC 集成开发环境

    Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1)   使用苹果的平台,集成开发环境使用X ...

  4. Yougth的最大化(好题,二分查找 0 1分数规划)

    Yougth的最大化 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 Yougth现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价 ...

  5. 技术之美[程序人生]我在IBM实习的日子

    写这篇文章的时候,我已经在IBM正式工作了,看看上一篇博文的发布日期,才发现,我已经将近三个月没有更新博客了,多么惊人!为什么这么久?期间发生了很多事情.最重要的一件就是我大学毕业了!毕业的那么平淡, ...

  6. python中使用mahotas包实现高斯模糊

    高斯模糊 import mahotas as mh import numpy as np from matplotlib import pyplot as plt image=mh.imread('i ...

  7. Android Studio虚拟机配置虚拟键盘

    1. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2pjMjExMzIy/font/5a6L5L2T/fontsize/400/fill/I0JBQkF ...

  8. java学习笔记day02

    1.如何定义一个功能,并通过函数(方法)体现出来呢?  1)明确改功能运算后的结果.确定函数的返回值类型.  2)明确在实现该功能的过程中是否有未知内容参与运算.确定参数列表. 2.函数重载:在同一个 ...

  9. 【思路题】【多校第一场】【1001.OO’s Sequence】

    题目大意: 给你一个序列A,f(l,r) 表示 在[l,r]中 的Ai 对于每一个数Aj 都有 Ai%Aj!=0  的数目(  i!=j  ) 卡了一段时间..... 题解 简单题 定义两个数组L[i ...

  10. php 添加 redis 扩展模块

    由于PHP源码中并未有redis的文件,所以需要自己下载. 下载地址: http://pecl.php.net/get/redis-2.2.5.tgz [root@study package]# ta ...