List<T>对元素的查找。

要在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();

结果是:

List<T>对元素的查找。

时间: 2024-10-11 08:29:24

List<T>对元素的查找。的相关文章

根据id/类名/元素名称查找元素

/** * 根据id/类名/元素名称查找元素 * @param selector 选择器(#id ..className.tagname) * @return 返回根据选择器条件查找到的元素 */function $(selector) { if (selector.indexOf("#") === 0) // id return document.getElementById(selector.slice(1)) if (selector.indexOf(".")

【JS学习笔记】DOM元素灵活查找

用className选择元素 (1)如何用className选择元素 选出所有元素 通过className条件筛选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&

C++ 关联容器之map插入相同键元素与查找元素操作

一.插入相同键元素操作 (1)insert方法 在map中的键必须是唯一的,当想map中连续插入键相同但值不同的元素时,编译和运行时都不会发生任何错误,系统会忽略后面的对已存在的键的插入操作,如 1 map<int,int> m1; 2 m1.insert(make_pair(1,2)); 3 m1.insert(make_pair(1,3)); 4 for(map<int,int>::iterator mit=m1.begin();mit!=m1.end();mit++){ 5

8 HTML DOM 元素的查找与改变&amp;改变CSS样式&amp;HTML事件

HTML DOM(Document Object Model)文档对象模型 当网页被加载时,浏览器会创建页面的文档对象模型. HTMLDOM 定义了用于HTML的一系列标准的对象.通过DOM,你可以访问所有的HTML元素,连同它们所包含的文本和属性. HTMLDOM独立于平台和编程语言,可以Java.JavaScript之类的调用. HTMLDOM模型被构造为对象的树. JavaScript能够改变页面中所有的HTML元素.属性.CSS样式,能够对页面中所有的事件做出反应. HTML DOM树:

JS-DOM元素灵活查找

用className选择元素 封装成函数 <title>无标题文档</title> <script> /* window.onload=function () { var oDiv=document.getElementById('div1'); var aLi=document.getElementsByTagName('li'); for(var i=0;i<aLi.length;i++) { if(aLi[i].className=='box') { aLi

剑指offer-面试题53_3-数组中数值和下标相等的元素-二分查找

/* 题目: 求单调递增数组中,数值与下标相等的任意数字. */ /* 思路: 二分法. */ #include<iostream> #include<cstring> #include<vector> #include<algorithm> #include<map> using namespace std; int getNumberSameAsIndex(vector<int> &A, int n){ if(n <

jQuery父级以及同级元素查找的实例

父级以及同级元素的查找在使用过程中还是蛮频繁的,下面为大家介绍下jQuery是如何实现的,感兴趣的朋友可以参考下 jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class") jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素 jQuery.children(

动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

 1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /************************************************************************/ /*数组的结构体类型                                                    */ /*******************

DOM_02之查找及元素操作

1.查找之按节点间关系查找周围元素: 2.查找之HTML属性:①按id查找:var elem=document.getElementById("id"):找到一个元素,必须document调用:②按标签名:var elems=parent.getElementsByTagName("标签名"):在指定父元素下查找指定标签名元素,查找所有子代节点:③按name属性:var elems=parent.getElementsByName("name")