当前位置: 首页 > news >正文

ListT对元素的查找。

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

 

结果是:

 

转载于:https://www.cnblogs.com/zhangyuanbo12358/p/3836492.html

相关文章:

  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 关于CAD的开发思路
  • 七彩视界
  • centos7使用kubeadm安装k8s集群
  • SQL Profile 总结(一)
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Hihicoder 题目1 : Trie树(字典树,经典题)
  • Memcached理解笔记1---安装常规错误监控
  • linux extglob模式 和rm反选
  • LOJ2541:「PKUWC2018」猎人杀
  • Redis 二:入门基本篇
  • 2019预测:三大专家视角解读云计算、无服务器等关键趋势
  • mysql学习笔记--第1天
  • Flink-数据流编程模型
  • 最全的Android开发资源整理--进阶必备
  • [译]前端离线指南(上)
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 30秒的PHP代码片段(1)数组 - Array
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Cookie 在前端中的实践
  • ES6简单总结(搭配简单的讲解和小案例)
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • k8s 面向应用开发者的基础命令
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Logstash 参考指南(目录)
  • oldjun 检测网站的经验
  • php ci框架整合银盛支付
  • PHP 的 SAPI 是个什么东西
  • ReactNativeweexDeviceOne对比
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • Web Storage相关
  • 反思总结然后整装待发
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 猴子数据域名防封接口降低小说被封的风险
  • 技术:超级实用的电脑小技巧
  • 简单实现一个textarea自适应高度
  • 学习笔记:对象,原型和继承(1)
  • 用mpvue开发微信小程序
  • 找一份好的前端工作,起点很重要
  • 走向全栈之MongoDB的使用
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​520就是要宠粉,你的心头书我买单
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (003)SlickEdit Unity的补全
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据