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)?的主要内容,如果未能解决你的问题,请参考以下文章

C#中怎样判断一个List对象中是不是存在和指定变量的值相等的元素

java里,判断一个对象是不是是null,怎么判断

在java中,怎样判断一个变量是啥类型的?

JAVA怎样判断一个对象的类型

java 怎样判断一个对象是不是为空?

java 有没有一种方法可以检验一个字符串是不是包含在一个集合里