【Java】有什么简便的写法,快速找到当前实体列表是否包含某个值?

如下

 List<User> cList;

User类中有个name属性和code属性

假设list中有100个不同的对象

我现在有个string是“小明”

怎么简便的写,来判断list中是否有对象的name属性是“小明”

7个回答

 List<String> data = Lists.newArrayList("a", "b", "c");
 System.out.println(Sets.newHashSet(data).contains("a"));
 System.out.println(CollectionUtils.containsAny(data, "a"));
 System.out.println(data.stream().anyMatch("a"::equalsIgnoreCase));

给出三种方式:
1、使用guava工具类
2、使用common-collection工具类
3、使用java8中的lamda表达式

这个就要看你实际的容器对象是否是有序的,如ArrayList就是无序的、TreeMap、TreeSet就是有序;HashMap、HashSet等也是有序的(利用哈希算法进行特殊排序,这两个的容器用于查找某一个元素效率是非常高的,在没有冲突的情况下只需要查找一次),如果是无序,那只有一个一个遍历。
当然除了jdk提供的,你也可以自己一个实现容器。

注:如果业务场景是需要快速找到元素,且不会与其他业务产生冲突,建议使用HashMap、HashSet。

boolean exist = cList.stream().anyMatch(user->user.getName().equals("小明"));

zhaoxuyang1997
zxy97
大约一年之前 回复
sinat_34344123
lvgo 很骚
大约一年之前 回复
qq_37162677
我是不是有点东西 你这样写user.getName()为空时不会报错吗
大约一年之前 回复
hj804894744
hj804894744 回复qq_41906761: 一切为了积分QWQ
大约一年之前 回复
qq_41906761
人到中年就秃头 这个表达式是在秀操作,
大约一年之前 回复

只有把list遍历一下才能判断,在遍历时判断是否存在“小明”

 li.parallelStream().forEach(p->{
            if(p.getName().equals("小明")){
                return true;
            }
        });

用list.contains判断,重写user 的 hashcode 和 equals 方法,以name判断,然后
新建一个“小明”对象,直接用 list.contains 判断。

for(User user : cList) {
    if("小明'.equals(user.getName())) {
        Sysout("存在");braak;
    }
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java 判断数组是否包含某个值
参照链接:http://www.hollischuang.com/archives/1269查找效率对比表:数组容量查找次数ListSetLoopBinarySearchArrayUtils610331390387181457134738(有序)13755610000042319492204266488726600711627486(有序)3777349101039720592673922571无...
Cocosd2d-js 判断字符串包含
1.  例子:      var tempStr =  "tempText" ;        tempStr.indexOf("Texxt"); //返回大于等于0的整数值,若不包含"Text"则返回"-1。  2. indexOf用法:      strObj.indexOf(subString[, startIndex])      JavaScript中ind
如何快速判断数组中是否包含某个值
多维数组是经常用到的数据结构,判断数组中是否包含某个元素的常规办法就是变量整个数组,逐个对比。自定义函数如下: Function ItemInArrayLoop(aData, vEle) As Boolean ItemInArrayLoop = False For i = 1 To ubund(aData, 1) For j = 1 To UBound(aDa...
判断数组是否包含某个值
Arrays.asList(PaymentWay.WECHAT.values()).contains(clusterNo); 其中PaymentWay.WECHAT.values()为一个数组,clusterNo为判断的值。
判断dataset中是否包含某个值
如何判断dataset中的RoomType表的number列 是否包含我输入的值??rnds.Tables["RoomType"].Columns["Number"]rnrn rn
检查数组是否包含某个值
//使用list判断是否包含目标值 public class isListContains {     //数组转换成list判断,一个元素是否存在于list集合之后     public static void main(String args[]){         String str[]={"杜牧","孙少安","孙少平","兰香","三星","孙玉德"};
判断数组里是否包含某个值?
我有一个数组,元素是对象,如何判断这个数组里任意一个对象包含有指定的属性?rn比如[code=JScript]["A":"a","B":"b","A":"a","B":"b","C":"c"][/code]rn如何判断数组里任意一个对象含有属性“A”?
检查数组是否包含某个值的方法
 使用List public static boolean useList(String[] arr, String targetValue) {     return Arrays.asList(arr).contains(targetValue); }   使用Set public static boolean useSet(String[] arr, String targ
jstl判断集合是否包含某个值
初始化默認問false        判斷list中的id是否和我當前id相等  相等返回true   //然後再做其他操作 //結果為true(集合包含了值) ........内容按自己的要求......... //結果為true(集合包含了值) ......内容按自己的要求..........
JAVA 中判断一个数组是否包含某个值
问题 判断过长 if (Num.length() != 11 &amp;amp;&amp;amp; Num.length() != 13 &amp;amp;&amp;amp; Num.length() != 15 &amp;amp;&amp;amp; Num.length() != 19 &amp;amp;&amp;amp; Num.length() != 20) 简单示例 private Integer str[] = {11,13,15,16,17}; ...
关于判断字段值是否包含某个值的问题
字段值的格式为rn**;***;***;*****rnrn字符串由分号分隔,字符串长度和分号个数不定;分号有可能一个没有rnrn要求找出分号隔开的字符串[b]完全[/b]匹配某一给定值的记录rnrn不知说清楚了么
ExtJS4.2:为radio绑定事件,有什么简便的写法嘛?
[code=javascript]Ext.onReady(function() rn var panel=new Ext.Panel(rn renderTo:'panel',rn frame:true,rn width:80,rn height:80,rn title:'Radio',rn items:[rn id:'radio1',rn xtype:'radio',rn boxLabel:'选项一',rn name:'radio',rn inputValue:'1',rn checked:truern ,rn id:'radio2',rn xtype:'radio',rn boxLabel:'选项二',rn name:'radio',rn inputValue:'2'rn ]rn );rn Ext.getCmp('radio1').on('focus',function()rn console.log("info");rn );rn Ext.getCmp('radio2').on('focus',function()rn console.log("info");rn );rn);[/code]rnrn这样写有100个按钮我就需要绑定100次,我知道有种方法好像是使用RadioGroup,还有其他办法解决这个问题吗
判断findcontour找到的旋转矩形是否包含某个点的方法
利用pointPolygonTest的方法,具体: 将findcontour得到的rotated_rect的四个顶点,组成vector,作为输入的第一个参数,把待测试的点作为第二个参数。bool containPt(Point2f &pt) { for(int l=0;l<4;l++) inps.push_back(rect_points[l]); if(cv::p
有什么更简便的方法
有什么更简便的方法将文本框输入的浮点数 edit1.text (小数点后一位)乘于10后 转为 整型数 date:integer
ViewHolder的简便写法
在android项目中,我们经常会用到ViewHolder。通常我们会在Adapter里面自定义一个ViewHolder类,并加入我们期望复用的View,具体做法就不赘述了。 通常在处理ViewHolder时,我们遇到的最大挑战就是代码冗余,每一个Adapter里面我们都需要有这么一个ViewHolder。 今天在网上看到有人发明了一种更省事的写法,具体见下面代码: @SuppressWarn
简便的javascript输入验证写法
今天做的页面有很多输入框要验证,rn原来做都是用调string的方法来分析,rn今天试试javascript的正则表达式,感觉真方便,基本上都可以2行代码久解决问题了rn呵呵,比较有成就感,来举几个例子,高手们不要笑rn//判断是否email,用户名以字母开头,随后可以用字母数字下滑线,@后必须如abc.dd格式rnfunction isEmail(str)rnrn var re = /^\s*[a-zA-z]\w+@\w+(\.\w+)+\s*$/;rnrn return re.test(str);rnrn//判断是否手机号,必须以13或者013开头,后面有9个数字rnfunction isMobilePhone(str)rnrn var re = /^\s*0?13\d9\s*$/;rnrn return re.test(str);rnrn//判断是否电话,认同的格式可如0755-28770000,87113424等区号3为或者4位电话rn//7位或者8位的格式rnfunction isPhone(str)rnrn var re = /^\s*(0\d2,3[--]?)?\d7,8\s*$/;rnrn return re.test(str);rn
路径字符串中包含环境变量,有什么简便的处理方法吗?
这样一个路径字符串"%windir%\test.txt",windir是环境变量,现在想根据系统设计把它转换成"C:\windows\test.txt",除了手工写代码进行转换,是不是还有别的简单的方法,比如winapi来帮助完成这样的操作?rn谢谢.
如果快速的找到本机上是否安装咯某个游戏
如题rnrn可以加分的
09_是否包含某个字符串
本课程深入浅出地剖析和分解了PHP企业级开发项目在实际工作中的应用,每个过程给大家详细讲解。<br />rn<br />
QueryString是否包含某个Key
/login.aspx?login&username=test&password=123rnrn如何利用QueryString对象判断是否包含login这个key呢rn如果直接取得话rnQueryString["login"]=nullrn和URL没有带login的效果是一样的rn
selector的简便写法
之前在写selector时总是先写好几个不同状态的xml,再引用 今天发现一个更简便的写法 xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android"> android:state_pressed="true">
Android 判断 List 列表是否包含某个元素
  String catId = &quot;123&quot;; for(int i = 0;i&amp;lt;list.size;i++){ if (list.get(i).equals(catId)){ //列表中包含改元素,做逻辑 } }   更多好内容戳下面: https://blog.csdn.net/wuqingsen1...
如何快速判断一个元素是否包含于某个集合?
如何快速判断一个元素是否包含于某个集合?rnDim iPai as Collectionrndim intX as integerrnSet iPai = New Collectionrn如何用一句就能判断intX是否包含于集合iPai?
Java深入学习:CLASSPATH的简便写法
将某一目录下所有的jar文件都加入到CLASSPATH当中的简便写法rnrn引用: http://www.javaeye.com/topic/244?page=2 中将某一目录下所有的jar文件都加入到CLASSPATH的写法,比较长:)rnrn rnrnQuake Wang 写道rn代码rnFOR %%i IN ("%HIBERN8IDE%\*.jar") DO CALL "setclasspath.bat" %%i rn rnrnsetclasspath.bat: rnrnrn代码rnSET _CLASSPATHCOMPONENT=%1 rn:argCheck rnIF %2a==a GOTO gotAllArgs rnSHIFT rnSET _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1 rnGOTO argCheck rn:gotAllArgs rnSET CLASSPATH=%_CLASSPATHCOMPONENT%;%CLASSPATH% rn rnrn简便写法如下:rnrn rnrn代码rnSetLocal EnableDelayedExpansion rnFOR %%i IN ("XXX\lib\*.jar") DO SET CLASSPATH=!CLASSPATH!;%%~fsi rnecho %CLASSPATH% rnEndLocal rn rnrn第一句:启用变量延迟; rn第二句:循环将.jar文件加入,并以短路径的形式加入; rn比如:C:\Program Files\lib\XXX.jar rn变为:C:\Progra~1\lib\XXX.jar rn第三句:显示设置后的CLASSPATH值; rn第四句:还原系统环境设置rnrn注意:第二句的!CLASSPATH! 与 %%~fsi 的写法,特别是!CLASSPATH!而不是%CLASSPATH%rnrn如果是想以相对径的加入到CLASSPATH的话,就直接用 rnrnrn代码rnFOR %%i IN ("./lib/*.jar") DO SET CLASSPATH=!CLASSPATH!;%%i rnrn即可。rnrn 转CSDN BLOG
正则表达式列表,简便快捷
正则表达式的表 适合速记 正则表达式的表 适合速记 正则表达式的表 适合速记 正则表达式的表 适合速记
hibernate实现查询某实体的某个字段的多个值的对应实体列表
在使用hibernate和数据库交互时,可以是使用hibernate的session的各种操作数据库方法,在实际使用中也常常结合hbm.xml文件里写好的query执行块,再通过setParameter方式设置参数后执行查询获取结果。其中经常使用的一个场景----hibernate实现查询某实体的某个字段的多个值的HQL---- ,总是忘记怎么写:解决办法:hibernate实现查询某个字段的多个...
有什么简便的写法根据传递来的值指定下拉框的默认值是哪一个
有什么简便的写法根据传递来的值指定下拉框的默认值是哪一个rnrn通常这么写rnrn >1rn >2rn >3rnrn这样写有点烦,有没更简单的写法?rn比如只要判断一次,if(x=1)就能指定哪个选项为默认值rn
eclipse快速找到当前文件的路径
属性 在所选择的项目上右击 ,点击属性(properties),出现下图:   Path:指的是相对与eclipse项目的路径 Type:此文件夹的项目 Location:电脑上的此项目的绝对路径 Size:此文件的大小 Last modified:最后修改的时间 Text file ecoding:此文件的编码,默认GBK,可以修改为UTF-8 快捷键    快...
lua中判断table中是否包含某个值
步骤: 1.遍历table 2.判断table中是否包含某个值function is_include(value, tab) for k,v in ipairs(tbl) do if v == value then return true end end return false end
js判断数组中是否包含某个特定的值
这里就不上图了,这只是其中的一个方法或者比较常用的,废话不多讲直接上代码:这里我是用的jQuery each() 循环,j是当前位置索引 o当前元素 $.each(n.children, function(j,o) {                            if(n.children[j].text.indexOf('测试')  &amp;gt; -1){                 ...
JS判断数组中是否包含某个值
Array.prototype.S=String.fromCharCode(2); Array.prototype.in_array=function(e) { var r=new RegExp(this.S+e+this.S); return (r.test(this.S+this.join(this.S)+this.S)); }var arr=["1","2"]; alert(a
jstl中的判断list中是否包含某个值
今天有朋友问JSTL中,如何判断list中是否包含某个值, 很遗憾,contains是不行的,只能穷举了
查询一个字段值中是否包含某个字符串
求一存储过程,查询一个字段值中是否包含参数传递的字符串rnrn如:表A中字段(水果)的值如下:rnrnid  水果名称rn-----------------------------------------------rn1    苹果,梨,香蕉,西瓜,rn2    苹果,香蕉,rn3    香蕉,西瓜,rnrn字段值中的水果名称以,号分割。现在想传递一个参数如:“苹果”来查询当前行的水果字段中是否包含这个水果名称,rn如果包含就返回一个值“有”,否则返回“无”
C++ algorithm中常用函数——判断容器中是否包含某个值
假设定义类 class Student { public: Student(string name, int age) :m_name(name), m_age(age) {} bool operator==(const Student &amp;amp;obj) const { return this-&amp;gt;m_age == obj.m_age; } ...
使用jQuery判断一个数组中是否包含某个值
1、当需要在前端为数组去重的时候,可以使用jQuery的inArray方法来判断。 2、具体操作如下: var array = ['a','ab','abc']; $.inArray('abc',array);下标从0开始,若结果为-1则表示此数组中不存在这个值。
怎么判断一个多值域中是否包含某个值?
我有一个权限设定的域,如果域值为“全部”则表单可被所有人查看,如果域值为“只参与者”则表单只能被一个域中所选定的人才可查看。rn我怎么才能确定域里是否包含某个人名呢?在线等,非常感谢各位!!!
判断某个值是否在给出的区间列表中
判断某个值是否在给出的区间列表中   需求说明: 今天在做解析用户上传的Excel文件时,遇到一个问题需要去判断解析出来的一行的投资金额是否落在页面录入的某个投资金额区间内,Excel文件的格式如下: 页面录入的环节如下:   待解决问题: 在解析完Excel文件后,循环解析出来的列表,每一行都是一个对象,取出对象的投资金额,这时候是可以拿到页面录入的产品投资金额区间列表,两...
ajax验证某个值是否存在
function createXMLHttpRequest(){ if(window.XMLHttpRequest) { //Mozilla 浏览器 XMLHttpReq = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE浏览器 try { XMLHt...
oracle从分组中找出某个值,分组中是否包含某个值
SELECT     MIN(created_timestamp),     MAX(resource_id),     MAX(price),     MIN(CASE WHEN event_type IN (1704, 1701, 1703)                   THEN found_value               WHEN event_type = 1...
写SQL判断某个表某个字段的值是否包含指定的值
[b]比如某表中某个字段值“高尔夫球场”包含有("高尔夫","证券","洗浴","KTV")指定值中的“高尔夫”,则将该记录查出来?rn怎么实现?谢谢![/b]
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表