Rumah >Java >javaTutorial >Cara menggunakan list.contains() dalam Java

Cara menggunakan list.contains() dalam Java

WBOY
WBOYke hadapan
2023-05-16 17:01:122649semak imbas

1. Penggunaan:

mengandungi() dalam koleksi senarai digunakan untuk menentukan sama ada koleksi mengandungi elemen yang ditentukan . Senarai akan membandingkan elemen dalam kurungan dengan elemen yang ada dalam senarai satu demi satu Jika terdapat elemen yang sama, hasil pulangan adalah benar, jika tidak, hasil pulangan adalah palsu.

2. Contoh:

Gunakan kod berikut untuk mengesahkan:

  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);
        }
    }

Uji sama ada tatasusunan Senarai baru mengandungi elemen "hari jadi"

Cara menggunakan list.contains() dalam Java

Uji sama ada elemen "kelahiran" disertakan dalam tatasusunan Senarai baru

Cara menggunakan list.contains() dalam Java

3 Kembangkan kaedah contains() dalam

String kelas: jika dan hanya Apabila rentetan ini mengandungi jujukan nilai aksara yang ditentukan, ia ditentukan sama ada kandungan yang dinyatakan dalam mengandungi kandungan dalam kurungan .
Contoh:

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

Uji sama ada jenis String "CSDN Program Yuan" mengandungi "Program Yuan"

Cara menggunakan list.contains() dalam Java

Jika rentetan jenis String mengandungi Apabila menggunakan huruf, anda perlu memberi perhatian kepada kes-sensitif

Uji sama ada jenis String "CSDN Program Yuan" mengandungi huruf kecil "csdn"

Cara menggunakan list.contains() dalam Java

Tambahan: Kaedah List.contains() dalam Java membandingkan alamat dan bukannya nilai

Gunakan kaedah List.contains(Object object) untuk menentukan sama ada ArrayList mengandungi objek elemen (Untuk kes di mana nilai atribut objek adalah sama tetapi alamat objek berbeza), jika kaedah sama dalam objek elemen Objek Senarai tidak ditindih, lalai adalah sebagai berikut:

Gunakan kaedah List.contains(Object object ) untuk menentukan sama ada ArrayList mengandungi objek elemen (untuk kes di mana nilai atribut objek adalah sama tetapi alamat objek berbeza), jika kaedah sama dalam objek elemen Objek Senarai tidak ditindih, lalainya adalah seperti berikut:

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

akan menyebabkan kaedah mengandungi sentiasa mengembalikan palsu.

Lihat kod sumber kaedah mengandungi ArrayList seperti berikut:

/**
     * Searches this {@code ArrayList} for the specified object.
     *
     * @param object
     *            the object to search for.
     * @return {@code true} if {@code object} is an element of this
     *         {@code ArrayList}, {@code false} otherwise
     */
    @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;
    }

Dapat dilihat bahawa kaedah mengandungi menentukan sama ada elemen tertentu dimasukkan berdasarkan kaedah yang sama dengan Object untuk melihat kaedah sama dalam kelas Objek Kod sumber adalah seperti berikut:

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

Oleh itu, gunakan "==" untuk membandingkan alamat objek yang sama, iaitu alamat adalah sama, benar akan dikembalikan Untuk objek yang berbeza dengan nilai atribut objek yang sama tetapi alamat yang berbeza , sentiasa mengembalikan palsu!

Jika anda perlu menentukan sama ada ArrayList mengandungi objek berdasarkan sama ada nilai atribut objek adalah sama, anda perlu mengatasi kaedah yang sama bagi Objek dan membandingkan setiap nilai atribut objek satu demi satu dalam kaedah sama, seperti:

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 + "]";
    }
    
}

Atas ialah kandungan terperinci Cara menggunakan list.contains() dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam