国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java-Web過濾器

這篇具有很好參考價值的文章主要介紹了Java-Web過濾器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.基本介紹

1.為什么需要過濾器?

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

2.基本介紹

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

3.過濾器的基本原理

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

2.快速入門

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

1.文件目錄

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

2.環(huán)境配置
創(chuàng)建maven項目,導(dǎo)入依賴
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.taglibs</groupId>
      <artifactId>taglibs-standard-impl</artifactId>
      <version>1.2.5</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.taglibs</groupId>
      <artifactId>taglibs-standard-spec</artifactId>
      <version>1.2.5</version>
    </dependency>
  </dependencies>
3.代碼實現(xiàn)
1.login.jsp
<%--
  Date: 2024/1/31
  Time: 13:34
  User: 孫顯圣
  Version:1.0
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/loginCheck" method="post">
    username:<input type="text" name="username"><br>
    password:<input type="password" name="password"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

2.LoginCheck.java
package servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * @author 孫顯圣
 * @version 1.0
 * 驗證信息是否正確,如果正確則設(shè)置session
 */
@WebServlet(urlPatterns = "/loginCheck")
public class LoginCheck extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        if ("666666".equals(password)) {
            //設(shè)置session
            HttpSession session = req.getSession();
            session.setAttribute("name", username);

            req.getRequestDispatcher("manager/admin.jsp").forward(req, resp);
        }
        else {
            //不合法直接返回登錄界面
            req.getRequestDispatcher("login.jsp").forward(req, resp);
        }
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

3.ManagerFilter.java編寫過濾規(guī)則

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

package filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * @author 孫顯圣
 * @version 1.0
 */
public class ManagerFilter implements Filter {

    public void init(FilterConfig filterConfig) throws ServletException {
        //當(dāng)filter創(chuàng)建后會調(diào)用這個方法初始化
        System.out.println("初始化");
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //每次調(diào)用該filter時該方法就會被調(diào)用
        //檢查是否有session,將servletRequest向下轉(zhuǎn)型為httpServletRequest
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        HttpSession session = httpServletRequest.getSession();
        //獲取session中的name
        Object name = session.getAttribute("name");
        if (name != null) {
            //繼續(xù)訪問目標(biāo)資源
            filterChain.doFilter(servletRequest,servletResponse);
        }
        else {
            httpServletRequest.getRequestDispatcher("/login.jsp").forward(servletRequest,servletResponse);
        }
    }

    public void destroy() {
        //filter被銷毀時會調(diào)用
        System.out.println("destroy");
    }
}

4.配置web.xml告訴tomcat
<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name>Archetype Created Web Application</display-name>
<!--  filter一般寫在最前面 -->
<!--  url-pattern就是當(dāng)請求的url與之匹配的時候tomcat就會調(diào)用filter-->
<!--  /manager/*指的就是manager下面所有的資源-->
<filter>
  <filter-name>ManagerFilter</filter-name>
  <filter-class>filter.ManagerFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>ManagerFilter</filter-name>
  <url-pattern>/manager/*</url-pattern>
</filter-mapping>
</web-app>

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

5.admin.jsp
<%--
  Date: 2024/1/31
  Time: 13:37
  User: 孫顯圣
  Version:1.0
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <base href="<%=request.getContextPath()%>/manager/">
</head>
<body>
<h1 align="center">
    管理員界面
</h1>
<img src="1.png" height="600" border="1">
</body>
</html>

3.Filter的執(zhí)行流程

1.服務(wù)器啟動
  1. 讀取web.xmlJava-Web過濾器,JavaWeb,java,前端,開發(fā)語言
  2. 根據(jù)全類名反射創(chuàng)建過濾器的實例,將其放在name - 實例的容器中,并將url - name容器也填充
  3. 一共有兩個容器
    1. url - name
    2. name - 實例
  4. 創(chuàng)建FilterConfig對象,調(diào)用 init(FilterConfig filterConfi g)方法初始化過濾器
2.請求匹配
  1. 遍歷a容器,匹配url
  2. 如果匹配到,則找到里面的name,并且遍歷b容器,根據(jù)name找到filter實例
  3. 調(diào)用doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)方法
3.細節(jié)說明
  1. 過濾器起到一個瀏覽器請求攔截的作用,請求轉(zhuǎn)發(fā)不經(jīng)過過濾器
  2. 過濾器實例只有一個
  3. 一旦匹配到過濾器,過濾器只要不做任何操作,就會卡在這個頁面,并不會繼續(xù)匹配servlet
  4. 除非過濾器調(diào)用filterChain.doFilter(servletRequest, servletResponse)才會放行
  5. 過濾器里面的servletRequest和servletResponse是httpServletRequest和httpServletResponse的父類,可以向下轉(zhuǎn)型

4.url-pattern

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

5.Filter生命周期

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

6.FilterConfig

1.基本介紹

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

2.代碼演示
1.FilterConfig.java
package filter;

import javax.servlet.*;
import java.io.IOException;
import java.util.Enumeration;

/**
 * @author 孫顯圣
 * @version 1.0
 */
public class FilterConfig implements Filter {
    public void init(javax.servlet.FilterConfig filterConfig) throws ServletException {
        //通過filterConfig獲取相關(guān)的參數(shù)
        //1.獲取filter的名字
        String filterName = filterConfig.getFilterName();
        System.out.println("filterName: " + filterName);
        //2.獲取filter配置參數(shù)
        String ip = filterConfig.getInitParameter("ip");
        System.out.println("ip: " + ip);
        //3.獲取filter的所有配置參數(shù)的名字
        Enumeration<String> initParameterNames = filterConfig.getInitParameterNames();
        while (initParameterNames.hasMoreElements()){
            System.out.println("filterNames: " + initParameterNames.nextElement());
        }
        //4.獲取servletContext
        ServletContext servletContext = filterConfig.getServletContext();
        System.out.println("servletContext: " + servletContext);
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

    }

    public void destroy() {

    }
}

2.web.xml
    <filter>
        <filter-name>filterConfig</filter-name>
        <filter-class>filter.FilterConfig</filter-class>
        <!--配置參數(shù)-->
        <init-param>
            <param-name>ip</param-name>
            <param-value>12.344.123.12</param-value>
        </init-param>
        <init-param>
            <param-name>qq</param-name>
            <param-value>1721469477@qq.com</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>filterConfig</filter-name>
        <url-pattern>/abc/*</url-pattern>
    </filter-mapping>

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

5.結(jié)果

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

3.課后練習(xí)

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

1.FilterConfig.java
package filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**
 * @author 孫顯圣
 * @version 1.0
 */
public class FilterConfig implements Filter {
    public void init(javax.servlet.FilterConfig filterConfig) throws ServletException {

        //獲取filter配置參數(shù)
        String ip = filterConfig.getInitParameter("ip");
        //獲取servletContext
        ServletContext servletContext = filterConfig.getServletContext();
        //把禁用的網(wǎng)段放入servletContext
        servletContext.setAttribute("ip", ip);
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        ServletContext servletContext = servletRequest.getServletContext();
        Object ip = servletContext.getAttribute("ip");
        if (ip != null) {
            String ip_ = (String) ip; //獲取禁用網(wǎng)段ip
        }
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        //獲取請求的ip
        String remoteAddr = httpServletRequest.getRemoteAddr();
        //使用正則表達式匹配
        String regStr = ip + ".*";
        if (!remoteAddr.matches(regStr)) {
            //如果不是禁用網(wǎng)段跳轉(zhuǎn)到登錄頁面
            httpServletRequest.getRequestDispatcher("/login.jsp").forward(servletRequest,servletResponse);
        }
    }

    public void destroy() {

    }
}

2.結(jié)果

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

7.FilterChain

1.基本原理

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

2. 代碼實例
1.AFilter.java
package filter;

import javax.servlet.*;
import javax.servlet.FilterConfig;
import java.io.IOException;

/**
 * @author 孫顯圣
 * @version 1.0
 */
public class AFilter implements Filter {
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("AFilter的前置代碼");
        filterChain.doFilter(servletRequest,servletResponse);
        System.out.println("AFilter的后置代碼");
    }

    public void destroy() {

    }
}

2.BFilter.java
package filter;

import javax.servlet.*;
import javax.servlet.FilterConfig;
import java.io.IOException;

/**
 * @author 孫顯圣
 * @version 1.0
 */
public class BFilter implements Filter {
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("BFilter的前置代碼");
        filterChain.doFilter(servletRequest,servletResponse);
        System.out.println("BFilter的后置代碼");
    }

    public void destroy() {

    }
}

3.web.xml
    <filter>
        <filter-name>A</filter-name>
        <filter-class>filter.AFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>A</filter-name>
        <url-pattern>/aaa</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>B</filter-name>
        <filter-class>filter.BFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>B</filter-name>
        <url-pattern>/aaa</url-pattern>
    </filter-mapping>

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

4.結(jié)果

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

3.注意事項

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

8.作業(yè)練習(xí)

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

1.homeworkFilter.java
package filter;


import javax.servlet.*;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;

/**
 * @author 孫顯圣
 * @version 1.0
 */
public class homeworkFilter implements Filter {
    public void init(FilterConfig filterConfig) throws ServletException {
        //動態(tài)獲取評論,并將評論都放到servletContext中
        ServletContext servletContext = filterConfig.getServletContext();
        Enumeration<String> initParameterNames = filterConfig.getInitParameterNames();
        ArrayList<String> comments = new ArrayList<String>();
        while (initParameterNames.hasMoreElements()) {
            String s = initParameterNames.nextElement();
            String initParameter = filterConfig.getInitParameter(s);
            comments.add(initParameter);
        }
        servletContext.setAttribute("comments", comments);
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //獲取所有評論
        ServletContext servletContext = servletRequest.getServletContext();
        Object comments = servletContext.getAttribute("comments");
        //獲取填寫的評論
        String comment = servletRequest.getParameter("comment");
        //沒有禁止的評論就直接放行
        if (comments == null) {
            filterChain.doFilter(servletRequest, servletResponse);
        }
        //禁止的評論不為空則遍歷判斷
        ArrayList<String> coms = (ArrayList<String>) comments;
        for (String com : coms) { //遍歷禁用詞
            if (com.equals(comment)) {
                //請求轉(zhuǎn)發(fā)到主頁面并將禁用詞傳進去
                servletRequest.setAttribute("badComment", comment);
                servletRequest.getRequestDispatcher("/topic.jsp")
                        .forward(servletRequest, servletResponse);
            }
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }

    public void destroy() {

    }
}

2.web.xml
    <filter>
        <filter-name>homeworkFilter</filter-name>
        <filter-class>filter.homeworkFilter</filter-class>
        <init-param>
            <param-name>com1</param-name>
            <param-value>蘋果</param-value>
        </init-param>
        <init-param>
            <param-name>com2</param-name>
            <param-value>香蕉</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>homeworkFilter</filter-name>
        <url-pattern>/showTopic.jsp</url-pattern>
    </filter-mapping>

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

3.topic.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Date: 2024/1/31
  Time: 17:36
  User: 孫顯圣
  Version:1.0
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h4>敏感詞:蘋果、香蕉
    <c:if test="${!empty requestScope.badComment}">
        ---有敏感詞:${requestScope.badComment}
    </c:if>
</h4>
<form action="showTopic.jsp" method="get">
    評論:<input type="text" name="comment"><br>
    <input type="submit" value="提交">
</form>

</body>
</html>

4.showTopic.jsp
<%--
  Date: 2024/1/31
  Time: 17:39
  User: 孫顯圣
  Version:1.0
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h4>您的評論是:<%=request.getParameter("comment")%></h4>
</body>
</html>

5.演示結(jié)果

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言

Java-Web過濾器,JavaWeb,java,前端,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-854959.html

到了這里,關(guān)于Java-Web過濾器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • [Java]過濾器(Filter)

    [Java]過濾器(Filter)

    一、什么是過濾器 過濾器是Servlet的高級特性之一,是實現(xiàn)Filter接口的Java類! 過濾器的執(zhí)行流程: ? 從上面的圖我們可以發(fā)現(xiàn),當(dāng)瀏覽器發(fā)送請求給服務(wù)器的時候, 先執(zhí)行過濾器,然后才訪問Web的資源。服務(wù)器響應(yīng)Response,從Web資源抵達瀏覽器之前,也會途徑過濾器。 過濾

    2024年02月11日
    瀏覽(18)
  • java過濾器(Filter)

    java過濾器(Filter)

    原文鏈接: java過濾器(Filter – 編程屋 目錄 1 過濾器簡介 2 Filter詳細介紹 3 Filter的用法 3.1 用法1 ?3.2 用法2 filter也稱之為過濾器,它是javaWeb三大組件之一(Servlet程序、Listener監(jiān)聽器、Filter過濾器) 作用: 既可以對請求進行攔截,也可以對響應(yīng)進行處理。 常見場景: 權(quán)限檢

    2024年02月20日
    瀏覽(30)
  • Java實現(xiàn)布隆過濾器

    Java實現(xiàn)布隆過濾器

    背景: 為預(yù)防大量黑客故意發(fā)起非法的時間查詢請求,造成緩存擊穿,建議采用布隆過濾器的方法解決。布隆過濾器通過一個很長的二進制向量和一系列隨機映射函數(shù)(哈希函數(shù))來記錄與識別某個數(shù)據(jù)是否在一個集合中。如果數(shù)據(jù)不在集合中,能被識別出來,不需要到數(shù)據(jù)

    2024年02月01日
    瀏覽(25)
  • JavaWeb過濾器(Filter)詳解,是時候該把過濾器徹底搞懂了(萬字說明)

    JavaWeb過濾器(Filter)詳解,是時候該把過濾器徹底搞懂了(萬字說明)

    ? ? ? ? 注意:這篇文章很長,學(xué)習(xí)完后將會解決你對于過濾器(Filter)的所有疑惑,下面將通過理論和代碼的結(jié)合來進行講解演示.....? ? 目錄 基本介紹 過濾器原理 過濾器(Filter)接口 使用過濾器(Filter) 創(chuàng)建過濾器(Fliter) 使用過濾器(Filter) 配置過濾器(Filter)攔截路徑? 注解方式

    2024年02月02日
    瀏覽(49)
  • JavaWeb三大組件之一Filter(過濾器)

    JavaWeb三大組件之一Filter(過濾器)

    攔截所有訪問web資源的請求或者響應(yīng)(servlet、Jsp頁面、HTML頁面),從而實現(xiàn)我們自己的業(yè)務(wù)邏輯,這些邏輯可以是實現(xiàn)訪問權(quán)限的控制、過濾敏感詞、壓縮響應(yīng)等功能。 過濾器是\\\"鏈接\\\"在容器的處理過程中的,它會在servlet處理器之前訪問進入的請求,并且在響應(yīng)信息返回客服

    2024年02月07日
    瀏覽(30)
  • Java 過濾器 @WebFilter 詳解

    Java 過濾器 @WebFilter 詳解

    @WebFilter 注解是JavaEE中的一種注解,用于標(biāo)識一個類為過濾器(Filter)。過濾器用于對請求進行過濾和處理,可以在請求到達目標(biāo)資源之前或之后執(zhí)行一些操作。 使用**@WebFilter**注解可以將一個類聲明為過濾器,并指定過濾器的名稱、URL模式、Servlet名稱等。 簡化配置 :不再需要

    2024年02月03日
    瀏覽(24)
  • 【Java 進階篇】保護你的應(yīng)用:Java 過濾器實現(xiàn)敏感詞匯過濾

    【Java 進階篇】保護你的應(yīng)用:Java 過濾器實現(xiàn)敏感詞匯過濾

    在開發(fā) Web 應(yīng)用程序時,安全性是至關(guān)重要的一環(huán)。保護用戶免受惡意內(nèi)容的侵害是開發(fā)者義不容辭的責(zé)任之一。在這篇博客中,我們將深入研究如何使用 Java 過濾器來過濾敏感詞匯,確保用戶輸入的內(nèi)容不包含不良信息。我們將采用簡單而實用的方法,讓即使是初學(xué)者也能

    2024年02月03日
    瀏覽(23)
  • Java設(shè)計模式(八)過濾器模式

    一、概要 過濾器模式是一種結(jié)構(gòu)型設(shè)計模式,它允許通過一系列條件來篩選對象,并提供一種靈活的方式來組合和操作這些條件。過濾器模式將過濾條件封裝成獨立的過濾器類,然后使用這些過濾器來過濾對象集合,以滿足特定的條件。 二、代碼 以下是一個示例代碼,說明

    2024年02月03日
    瀏覽(15)
  • JAVA中的攔截器、過濾器

    JAVA中的攔截器、過濾器

    相關(guān)解釋:攔截器依賴于頁面有訪問controller的操作,且屬于SpringMVC體系的動態(tài)攔截調(diào)用機制,是java中AOP思想的運用。 來看看源碼作者的注釋: 其中倒數(shù)第二段話,描述其類似于過濾器,但其特點只允許使用自定義預(yù)處理,不能處理程序本身。此處可體現(xiàn)AOP思想。 過濾器是

    2024年02月13日
    瀏覽(19)
  • 布隆過濾器及其在Java中的實際應(yīng)用

    布隆過濾器及其在Java中的實際應(yīng)用

    布隆過濾器一直是面試中的重點,本篇文章將深入探討Java中的布隆過濾器的底層思想,包括它的工作原理、優(yōu)缺點等。同時,我們將結(jié)合一個小實際案例,來給大家展示布隆過濾器在解決實際問題中的應(yīng)用。 在數(shù)據(jù)處理領(lǐng)域,我們經(jīng)常需要判斷一個元素是否在一個集合中。

    2024年02月05日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包