java contains是什么意思_java contains方法作用

1 String类型有一个方法:contains(),该方法是判断字符串中是否有子字符串。如果有则返回true,如果没有则返回false。

if(map_string.contains("name")){

System.out.println("找到了name的key");

}

if(map_string.contains("password")){

System.out.println("找到了password的key");

}

2.list.contains(o),比较list是否包含o

系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false。因此为了很好的使用contains()方法,我们需要重新定义下Student类的equals方法,根据我们的业务逻辑,如果两个Student对象的orderId相同,那么我们认为它们代表同一条记录 :

ArrayList的contains方法的实现:

public boolean contains(Object o) {

return indexOf(o) >= 0;

}

public int indexOf(Object o) {

if (o == null) {

for (int i = 0; i < size; i++)

if (elementData[i]==null)

return i;

} else {

for (int i = 0; i < size; i++)

if (o.equals(elementData[i]))

return i;

}

return -1;

}

### Java 中 `contains` 方法的含义及用法 #### 1. **关于 `contains` 方法** 在 Java 中,`contains` 是一个常用的方法,主要用于判断某个集合或字符串中是否包含特定的元素或子字符串。该方法的具体行为取决于其所属的对象类型。 对于 `List<T>` 类型,`contains(Object o)` 方法会返回布尔值,指示列表中是否存在指定的元素[^1]。如果存在,则返回 `true`;否则返回 `false`。需要注意的是,此方法基于对象的 `equals()` 方法来比较元素是否相等。 对于 `String` 类型,`contains(CharSequence s)` 方法同样返回布尔值,用于检测当前字符串是否包含指定的子序列(即子字符串)。它不区分大小写,并且支持任意长度的匹配[^2]。 以下是两者的具体实现示例: #### 2. **代码示例** ##### (1) 判断 `List<Integer>` 是否包含某整数 ```java import java.util.ArrayList; import java.util.List; public class ContainsExample { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); numbers.add(3); boolean result = numbers.contains(2); // true, because '2' is present in the list. System.out.println(result); // Output: true } } ``` 上述代码展示了如何通过 `contains` 方法验证列表中的元素是否存在。由于 `numbers` 包含数值 `2`,所以输出结果为 `true`。 ##### (2) 判断 `String` 是否包含子字符串 ```java public class StringContainsExample { public static void main(String[] args) { String sentence = "Hello world!"; boolean hasWorld = sentence.contains("world"); // true, as "world" exists within the string. System.out.println(hasWorld); // Output: true boolean hasJava = sentence.contains("Java"); // false, since "Java" does not exist here. System.out.println(hasJava); // Output: false } } ``` 这段程序说明了当目标字符串 `"Hello world!"` 包括子串 `"world"` 时,调用 `contains` 返回的结果将是 `true`;而如果没有找到对应的内容(如 `"Java"`),则返回 `false`。 #### 3. **应用场景分析** - **适用于数据校验** 当开发人员需要确认某些条件成立前再执行后续逻辑操作的时候非常有用。比如,在处理表单提交的数据之前先检查必填字段是否有缺失情况。 - **简化复杂查询语句** 如果业务需求涉及到频繁查找数组或者容器内部项目的位置关系等问题,利用此类内置函数能够有效减少冗余编码量并提高可读性和维护效率。 - **与其他工具配合使用** 结合其他高级特性一起工作也可以发挥更大作用。例如借助流式API过滤掉不符合要求的部分后再进一步统计剩余项数量等等[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值