码迷,mamicode.com
首页 > 其他好文 > 详细

List<T>对元素的查找。

时间:2014-07-16 20:49:33      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:des   style   color   使用   os   for   

      要在List<T>中查找特定的元素,可以使用Contains() 、IndexOf()、LastIndexOf()和BinarySearch()方法。除了
LastIndexOf()是从最后一个元素开始以外,其他的都是从第一个元素开始搜索,检查每一个元素,直到发现目标元素。集合类不要求集合中所有的元素都是唯一的。假如集合中有两个或者多个元素相同。则IndexOf()返回的是第一个索引。LastIndexOf()返回的是最后一个索引。

      BinarySearch()采用的是快得多的二分搜索算法,但它要求元素已经排好序了。

  BinarySearch()有一个有用的功能室假如元素没有找到,它会返回一个负整数。该值按位取反的(~)的结果是“大于被查找元素的下一个元素”的索引,假如没有更大的值,则是元素的整数,这样一来,就可以在列表的特定位置方便的插入新值,同时还保持已排序状态。

            int search;
            List<string> list = new List<string>() { "public","private","protected"};
            list.Sort();                                                               //使用BinarySearch()之前要先排序
            search = list.BinarySearch("protected internal");
            if (search < 0)
            {
                list.Insert(~search, "protected internal");           //search按位取反后,就是要插入元素应该在的位置
            }
            foreach (string item in list)                                     //遍历输出
                Console.WriteLine(item);
            Console.ReadKey();
 

结果是:
bubuko.com,布布扣

 


List<T>对元素的查找。,布布扣,bubuko.com

List<T>对元素的查找。

标签:des   style   color   使用   os   for   

原文地址:http://www.cnblogs.com/zhangyuanbo12358/p/3836492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!