java 怎样判断一个list里是不是有一个对象(object)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎样判断一个list里是不是有一个对象(object)?相关的知识,希望对你有一定的参考价值。
比如,我输入一个string, "abc", 怎样判断list里是否有abc这个对象?
1 中自定义,遍历List直到找到对象即可,但List中的对象需要自定义equals方法,即可以与其他对象比较,在什么情况下相同。如满意回答。2 但上述方法具有特定性,另外还有一些思路,
如
保证list中的对象是可排序的,即实现了Comparable接口功能
如果list没有排序,则可以使用Collecitons类对集合类,不是Map进行操作
如Collections.sort(List),可以进行先排序
然后 利用Collections中的binarySearch方法,找到对象所在下标
int index = Collections.binarySearch(list)
如果index <0,则表示没有该对象,如果index >=0,则表示该对象在list中的位置下标,因此,这里面我们不需要直接取出对象判断,主要看Comparable接口如何实现
String已经实现了equals和comparable接口的方法
所以可以直接使用上诉功能,进行判断,而不用一一遍历。 参考技术A contains(Object o)
如果列表包含指定的元素,则返回 true。
System.out.println(a.contains("abc")); 参考技术B 你看下这样行不
List list=new ArrayList();
list.add("abc");
for (int i = 0; i < list.size(); i++)
if("abc".equals(list.get(i)))
System.out.println("存在abc对象");
本回答被提问者和网友采纳 参考技术C list.contains(object) 返回true or false 参考技术D 用compareTo
java 有没有一种方法可以检验一个字符串是不是包含在一个集合里
我想实现检验一个字符串是否存在于一个LinkedList<String>里
这个问题很简单的
你进api的java.util包里的List接口,里面有个方法:
boolean contains(Object o)
如果列表包含指定的元素,则返回 true。
你调用就行了,不懂直接百度H!我。
参考技术A 实现思路:通过循环获取list对象中的值,然后判断某个字符串是否存在于list的值中。举例:
List<String> list = new ArrayList<String>();
list.add("abcd");
list.add("aabbcdefg");
for(int i=0;i<list.size();i++)
String str = (String) list.get(i);
if(str.indexOf("bb")> 0)
System.out.println("true");//输出结果
输出结果:true。 参考技术B LinkedList类里有个contains(Object)函数,如果包含在里面返回true。详细自己可以查看api。本回答被提问者采纳 参考技术C boolean contains(Object o)
如果此列表包含指定元素,则返回 true。
请多看看API文档.谢谢!
参考资料:http://www.menkan.com/j2se5-api-zh/index.html@overview-tree.html
参考技术D 集合中有指定方法。你去查查API就知道了。以上是关于java 怎样判断一个list里是不是有一个对象(object)?的主要内容,如果未能解决你的问题,请参考以下文章