亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中l(wèi)ist根據(jù)id獲取對(duì)象的幾種方式

 更新時(shí)間:2023年07月11日 15:36:36   作者:老李的地下室  
這篇文章主要給大家介紹了關(guān)于Java中l(wèi)ist根據(jù)id獲取對(duì)象的幾種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在 Java 中,有以下幾種方法來(lái)根據(jù) ID 獲取列表中的對(duì)象:

1、循環(huán)遍歷列表:遍歷整個(gè)列表,比較每個(gè)對(duì)象的 ID 和目標(biāo) ID,如果匹配,就返回該對(duì)象。

List<Object> list = ...;
int id = ...;
Object result = null;
for (Object obj : list) {
  if (obj.getId() == id) {
    result = obj;
    break;
  }
}

2、使用 Stream API:使用 Java 8 的 Stream API 操作列表,并使用 filter() 方法篩選出具有指定 ID 的對(duì)象。

List<Object> list = ...;
int id = ...;
Object result = list.stream().filter(o -> o.getId() == id).findFirst().get();

3、使用 Map:將對(duì)象存儲(chǔ)在 Map 中,并使用 ID 作為鍵,對(duì)象作為值。這樣,可以快速根據(jù) ID 獲取對(duì)象。

List<Object> list = ...;
Map<Integer, Object> map = list.stream().collect(Collectors.toMap(Object::getId, o -> o));
int id = ...;
Object result = map.get(id);

這三種方法的效率不同,可以根據(jù)具體需求選擇使用哪種方法。

附:4種方式獲取List中指定元素

package com.web;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test4 {
    public static void main(String[] args) {
        // List<String> resultList = new LinkedList<>();結(jié)果也一樣
        List<String> resultList = new ArrayList<>();
        resultList.add("success");
        resultList.add("error");
        resultList.add("success");
        resultList.add("warn");
        resultList.add("error");
        //1.利用equals,通過(guò)循環(huán)對(duì)比來(lái)找出你要的元素如下圖所示
        int index = resultList.indexOf("warn");
        System.out.println("index = " + index);
        // index = 3
        System.out.println(resultList.get(index));
        //2.直接get,根據(jù)add進(jìn)去的順序找出你需要的元素
        for (String s :
                resultList) {
            if (("error").equals(s)) {
                System.out.println(s);
            }
        }
        //3.你也可以通過(guò)indexOf(賽選條件)找到元素的下表,然后get出來(lái)
       // -1 if this list does not contain the element.
        if (resultList.indexOf("warn") != -1) {
            System.out.println(resultList.get(resultList.indexOf("warn")));
        }
       //使用Iterator迭代器獲取
        Iterator it = resultList.iterator();
        while (it.hasNext()){
            String str = (String) it.next();
            if ("success".equals(str)){
                System.out.println("str = " + str);
            }
        }
    }
}

總結(jié)

到此這篇關(guān)于Java中l(wèi)ist根據(jù)id獲取對(duì)象的幾種方式的文章就介紹到這了,更多相關(guān)Java list根據(jù)id獲取對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaWeb編程 Servlet的基本配置

    JavaWeb編程 Servlet的基本配置

    本文講的是Servlet最基本的配置信息,相信對(duì)你一定有幫助
    2013-11-11
  • SpringBoot優(yōu)先加載指定Bean的實(shí)現(xiàn)

    SpringBoot優(yōu)先加載指定Bean的實(shí)現(xiàn)

    SpringBoot框架在啟動(dòng)時(shí)可以自動(dòng)將托管的Bean實(shí)例化,一般情況下它的依賴注入特性可以正確處理Bean之間的依賴關(guān)系,無(wú)需手動(dòng)指定某個(gè) Bean優(yōu)先創(chuàng)建實(shí)例,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • Java數(shù)組轉(zhuǎn)換為集合的相關(guān)方法

    Java數(shù)組轉(zhuǎn)換為集合的相關(guān)方法

    在Java中我們經(jīng)常需要將數(shù)組從一種類型轉(zhuǎn)換為另一種類型,下面這篇文章主要給大家介紹了關(guān)于Java數(shù)組轉(zhuǎn)換為集合的相關(guān)方法,文中通過(guò)圖文及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Java?AQS中ReentrantLock條件鎖的使用

    Java?AQS中ReentrantLock條件鎖的使用

    ReentrantLock繼承了Lock接口,?lock方法實(shí)際上是調(diào)用了Sync的子類NonfairSync(非公平鎖)的lock方法。ReentrantLock的真正實(shí)現(xiàn)在他的兩個(gè)內(nèi)部類NonfairSync和FairSync中,默認(rèn)實(shí)現(xiàn)是非公平鎖
    2023-02-02
  • spring AOP實(shí)現(xiàn)@Around輸出請(qǐng)求參數(shù)和返回參數(shù)

    spring AOP實(shí)現(xiàn)@Around輸出請(qǐng)求參數(shù)和返回參數(shù)

    這篇文章主要介紹了spring AOP實(shí)現(xiàn)@Around輸出請(qǐng)求參數(shù)和返回參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring的@Value如何從Nacos配置中心獲取值并自動(dòng)刷新

    Spring的@Value如何從Nacos配置中心獲取值并自動(dòng)刷新

    這篇文章主要介紹了Spring的@Value如何從Nacos配置中心獲取值并自動(dòng)刷新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringSecurity集成第三方登錄過(guò)程詳解(最新推薦)

    SpringSecurity集成第三方登錄過(guò)程詳解(最新推薦)

    在ThirdAuthenticationFilter 類的attemptAuthentication()方法中,我們通過(guò)authType類型,然后創(chuàng)建對(duì)應(yīng)的Authentication實(shí)現(xiàn)來(lái)實(shí)現(xiàn)不同方式的登錄,下面給大家分享SpringSecurity集成第三方登錄過(guò)程,感興趣的朋友一起看看吧
    2024-05-05
  • Thymeleaf中th:each及th:if使用方法解析

    Thymeleaf中th:each及th:if使用方法解析

    這篇文章主要介紹了Thymeleaf中th:each及th:if使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SSM框架通過(guò)mybatis-generator自動(dòng)生成代碼(推薦)

    SSM框架通過(guò)mybatis-generator自動(dòng)生成代碼(推薦)

    這篇文章主要介紹了SSM框架通過(guò)mybatis-generator自動(dòng)生成代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • 關(guān)于Maven parent.relativePath說(shuō)明

    關(guān)于Maven parent.relativePath說(shuō)明

    Maven中的relativePath用于指定父項(xiàng)目pom.xml的相對(duì)路徑,默認(rèn)值為../pom.xml,這個(gè)配置幫助Maven在構(gòu)建時(shí)定位父模塊的位置,確保模塊間的依賴關(guān)系正確,relativePath可以指向本地或遠(yuǎn)程倉(cāng)庫(kù)中的父項(xiàng)目,如果不需要尋找父項(xiàng)目,可以將其設(shè)置為空
    2024-09-09

最新評(píng)論