iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Java中list.contains()怎么使用
  • 850
分享到

Java中list.contains()怎么使用

2023-07-05 19:07:07 850人浏览 八月长安
摘要

这篇“Java中list.contains()怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中list.co

这篇“Java中list.contains()怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中list.contains()怎么使用”文章吧。

一、用法:

list集合中contains() 用于判断集合中 是否 包含指定的元素。list会将括号内的元素和list中存在的元素进行逐个比对,若有相等的,返回结果为true,若没有则返回结果为false。

二、举例说明:

用下方代码验证:

  public static void main(String[] args) {        List newList = new ArrayList();//创建一个空数组        newList.add("name");        newList.add("age");        newList.add("sex");        newList.add("birth");//往数组中加一些元素        boolean res = false;        if(newList.contains("birthday")){            res=true;            log.info("包含,返回"+res);        }else {            log.info("不包含,返回"+res);        }    }

测试newList数组中是否包含元素“birthday”

Java中list.contains()怎么使用

测试newList数组中是否包含元素“birth”

Java中list.contains()怎么使用

三、拓展

String类中的contains()方法:当且仅当此字符串包含指定的 char 值序列,即判断指定内容中是否包含括号中的内容
举例说明:

public static void main(String[] args) {String str="CSDN程序媛";    boolean res = false;    if(str.contains("程序媛")){    res=true;        log.info("包含程序媛,返回"+res);    }else {        log.info("不包含程序媛,返回"+res);    }

测试String类型“CSDN程序媛”是否包含“程序媛”

Java中list.contains()怎么使用

如果String类型的字符串中包含字母时,需要注意区分大小写

测试String类型“CSDN程序媛”是否包含小写“csdn”

Java中list.contains()怎么使用

补充:Java中List.contains()方法比较的是地址而不是值

使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List<E>的元素对象Object中的equals方法,默认如下:

使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List<E>的元素对象Object中的equals方法,默认如下:

@Override    public boolean equals(Object o) {        // TODO Auto-generated method stub        return super.equals(o);    }

将导致contains方法始终返回false。

查看ArrayList的contains方法的源码如下:

    @Override public boolean contains(Object object) {        Object[] a = array;        int s = size;        if (object != null) {            for (int i = 0; i < s; i++) {                if (object.equals(a[i])) {                    return true;                }            }        } else {            for (int i = 0; i < s; i++) {                if (a[i] == null) {                    return true;                }            }        }        return false;    }

可以看出,contains方法依据Object的equals方法来判断是否包含某一元素,继续查看Object类中的equals方法,源码如下:

public boolean equals(Object o) {        return this == o;    }

所以,使用“==”比较对象的地址,如果是同一对象即地址相同的情况下,才会返回true,而对于对象属性值相同但地址不同的不同对象,始终返回false!

如果需要依据对象属性值是否相同来判断ArrayList是否包含某一对象,则需要重写Object的equals方法,并在equals方法中一一比较对象的每个属性值,如:

package com.feng.lejuan.entity; public class QuestionInfo {     private String questionId;        private String answerId;        private String subQuestionId;        private String result;     public QuestionInfo() {        super();            }     public QuestionInfo(String questionId, String answerId,            String subQuestionId, String result) {        super();        this.questionId = questionId;        this.answerId = answerId;        this.subQuestionId = subQuestionId;        this.result = result;    }     public String getQuestionId() {        return questionId;    }     public void setQuestionId(String questionId) {        this.questionId = questionId;    }     public String getAnswerId() {        return answerId;    }     public void setAnswerId(String answerId) {        this.answerId = answerId;    }     public String getSubQuestionId() {        return subQuestionId;    }     public void setSubQuestionId(String subQuestionId) {        this.subQuestionId = subQuestionId;    }     public String getResult() {        return result;    }     public void setResult(String result) {        this.result = result;    }     @Override    public boolean equals(Object o) {        if (o instanceof QuestionInfo) {            QuestionInfo question = (QuestionInfo) o;            return this.questionId.equals(question.questionId)                    && this.subQuestionId.equals(question.subQuestionId)                    && this.answerId.equals(question.answerId)                    && this.result.equals(question.result);        }        return super.equals(o);    }        @Override    public String toString() {        return "QuestionInfo [questionId=" + questionId + ", answerId="                + answerId + ", subQuestionId=" + subQuestionId + ", result="                + result + "]";    }    }

以上就是关于“Java中list.contains()怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Java中list.contains()怎么使用

本文链接: https://www.lsjlt.com/news/354684.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中list.contains()怎么使用
    这篇“Java中list.contains()怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中list.co...
    99+
    2023-07-05
  • Java中List.contains(Object object)方法怎么使用
    本篇内容主要讲解“Java中List.contains(Object object)方法怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中List.contains(Ob...
    99+
    2023-06-29
  • Java中List.contains(Object object)方法使用
    使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List<...
    99+
    2024-04-02
  • java中boolean怎么使用
    在Java中,boolean类型用于表示两个可能的值:true和false。它用于逻辑判断和条件控制。以下是boolean类型的使用...
    99+
    2023-09-25
    java
  • java中jpanel怎么使用
    在Java中,JPanel是一个用来管理和显示其他组件的容器,以下是使用JPanel的一般步骤:1. 导入JPanel类:在代码文件...
    99+
    2023-09-12
    java jpanel
  • java中session.invalidate()怎么使用
    在Java中,`session.invalidate()`方法用于使当前会话失效。当调用此方法时,会销毁当前会话,并移除与该会话相关...
    99+
    2023-09-14
    java
  • java中vector怎么使用
    在Java中,Vector是一种动态数组,可以用于存储和操作对象。下面是使用Vector的一些常用操作: 导入Vector类:首...
    99+
    2023-10-26
    java vector
  • java中indexof怎么使用
    在Java中,indexOf()方法是用于查找字符串中某个字符或子字符串第一次出现的位置的方法。它的使用方法如下:1. 对于查找某个...
    99+
    2023-10-12
    java
  • Java中replaceall怎么使用
    在Java中,replaceAll()方法是用来替换字符串中的匹配项。它接受两个参数:第一个参数是一个正则表达式,用于指定匹配的模式...
    99+
    2024-02-29
    Java
  • java中Stream怎么使用
    这篇文章将为大家详细讲解有关java中Stream怎么使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、使用流程Stream 的实例化一系列的中间操作(过滤、映射、...)终止操作2、注意点一个中间操...
    99+
    2023-06-15
  • java中beanutils.populate怎么使用
    在Java中,BeanUtils.populate()方法用于将一个Map中的键值对映射到一个Java对象的相应属性中。该方法的使用...
    99+
    2023-08-19
    java
  • java中layout怎么使用
    在Java中,布局(layout)用于控制和管理组件在容器中的位置和大小。Java提供了几种常用的布局管理器,例如:1. Borde...
    99+
    2023-08-24
    java layout
  • Java中equals怎么使用
    在Java中,equals()方法是用于比较两个对象是否相等的方法。equals()方法的默认实现是比较两个对象的引用地址是否相等,...
    99+
    2023-08-26
    Java equals
  • Java中StringTokenizer怎么使用
    这篇“Java中StringTokenizer怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中StringT...
    99+
    2023-07-02
  • java中substring怎么使用
    在Java中,可以使用`substring`方法来截取字符串的子串。`substring`方法有两种形式:1. `substrin&...
    99+
    2023-08-24
    java substring
  • Java中equalsignorecase怎么使用
    在Java中,`equalsIgnoreCase()`是一个字符串方法,用于比较两个字符串在忽略大小写的情况下是否相等。使用方法如下...
    99+
    2023-08-26
    Java
  • java中private怎么使用
    在Java中,private是一种访问修饰符,用来限制类中的成员(属性和方法)的访问范围。当成员被声明为private时,只有同一个...
    99+
    2023-08-29
    java private
  • java中servlet怎么使用
    在Java中使用Servlet需要经过以下步骤:1. 创建一个类,继承自`javax.servlet.http.HttpServle...
    99+
    2023-08-31
    java servlet
  • Java中BigInteger怎么使用
    这篇文章主要介绍“Java中BigInteger怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中BigInteger怎么使用”文章能帮助大家解决问题。在java中经常会遇到比较大的数...
    99+
    2023-07-05
  • java中Pair怎么使用
    今天小编给大家分享一下java中Pair怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。介绍java中Pair关于Ja...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作