如何判断List<String>list中是否包含某个字符串
list.contains(object);返回true说明包含,否则不包含
字符串
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似 字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的 零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入 数组。
简介
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
首先,你没说清楚你问题中的包含究竟是什么标准。
比如: [你们, 公司, 在, 哪里] 这句,contains(Object) 方法能判断“哪里”、“公司”这样的字符串是否在该list中,但像“哪”、“你”这样的contains(Object) 方法会直接判false!
对于第二种标准的包含,可以用以下方法解决:
public boolean ifInclude(List<String> list,String str){
for(int i=0;i<list.size();i++){
if (list.get(i).indexOf(str)!=-1) {
return true;
}
}
return false;
}
写好这个ifInclude(List<String> list,String str)方法,再像这样调用:
这样,就能满足上述第二个标准的包含了。
直接使用 java.util.List.contains(Object) 方法
示例:
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("fei");
list.add("long");
list.add("feilong");
System.out.println(list.contains("feilong"));
}
输出 : true
list.add(new String("acs"));
list.add(new String("acxaqs"));
list.add(new String("rwwwq"));
list.add(new String("acswecq"));
Map<String,String> map = new HashMap<>();
for(String orgStr : list){
map.put(orgStr,orgStr);
}
map.containsKey(new String("acxaqs")); //这里会是true