第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Java 打印帶有組名稱的 ArrayList 組

Java 打印帶有組名稱的 ArrayList 組

九州編程 2023-08-04 14:44:54
我只是一個(gè)初學(xué)者,正在自學(xué)Java!我只有一個(gè)用戶對(duì)象的數(shù)組列表:class Users{   public userName;   public userNumber;}  然后我創(chuàng)建一個(gè)模型: ArrayList<Users> model=new ArrayList<Users>();并將模型項(xiàng)添加為: model.add(new Users("abc","123")); model.add(new Users("def","888")); model.add(new Users("abc","246")); model.add(new Users("def","999")); model.add(new Users("abc","456"));我想要做的是以這種方式打印模型,該模型應(yīng)顯示類似的分組數(shù)據(jù),其組名稱如下: for(int i=0;i:i<users.size;i++){    System.out.printlin("users:::"+users.get(i).userNumber); }但它也應(yīng)該按名稱分組和打印組,即: abc ->       users:::123       users:::246       users:::456 def ->       users:::888       users:::999  所以我想對(duì)數(shù)據(jù)進(jìn)行分組,然后以分組格式打印數(shù)據(jù)以及每個(gè)組名稱!我該怎么辦,我正在自學(xué)Java。提前致謝
查看完整描述

5 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

public class User {

private String userName;

public String getUserName() {

    return userName;

}


public User(String userName, String userNumber) {

    this.userName = userName;

    this.userNumber = userNumber;

}


public void setUserName(String userName) {

    this.userName = userName;

}


public String getUserNumber() {

    return userNumber;

}


public void setUserNumber(String userPassword) {

    this.userNumber = userPassword;

}


private String userNumber;

}

主類

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

public class MainMethod {


private static HashMap<User, ArrayList<User>> maps;

private static ArrayList<User> user1list;

private static ArrayList<User> user2list;


public static void main(String...args) {

    maps = new HashMap<>();

    user1list = new ArrayList<>();

    user2list = new ArrayList<>();

    User user1 = new User("Ram", "1234");

    User user2 = new User("Alish", "5678");

    User user3 = new User("Ram", "91011");

    User user4 = new User("Alish", "121314");

    user1list.add(user1);

    user1list.add(user3);

    user2list.add(user2);

    user2list.add(user4);

    maps.put(user1, user1list );

    maps.put(user2, user2list);


   /// User one lists

    for ( User userone: maps.get(user1)) {

        System.out.println("userone Name:::"+userone.getUserName());

        System.out.println("User one Number:::"+userone.getUserNumber());

    }


    System.out.println();

     // USer tow list

    for (User usertwo: maps.get(user2)) {

        System.out.println("User two Name:::" +usertwo.getUserName());

        System.out.println("User two Number :::" +usertwo.getUserNumber());

    }

  }

 }


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

Map<String, List<Users>> use = model.stream.collect(Collectors.groupinBy(Person::getUsername)) ;

您可以使用這種方法按組打印數(shù)據(jù)


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用 Java Streams 嘗試如下所示。


//group by user name

Map<String, Set<String>> map =

            model.stream().collect(

                    Collectors.groupingBy(Users::getUserName,

                            Collectors.mapping(Users::getUserNumber, Collectors.toSet())

                    )

            );

System.out.println(map);

確保在 Users 類中實(shí)現(xiàn)getter 方法getUserName()、getUserNumber() 。這里我假設(shè)userName和userNumber都是字符串類型的數(shù)據(jù)。


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

完成您想要的操作的一種快速而簡(jiǎn)單的方法是使用HashMap. 哈希映射是鍵值集合,在您的情況下,您將創(chuàng)建一個(gè)HashMap<String, List<String>>存儲(chǔ)username鍵和userNumber值列表的存儲(chǔ)(因?yàn)槟卸鄠€(gè)值)。

那么你的代碼將更改如下:

  1. 迭代您擁有的所有用戶。

  2. 如果usernamehashmap 中存在,則將其添加usernumber到其中。

  3. 如果username不存在,則將其添加到哈希映射中,并將 用作usernumber其列表的第一個(gè)元素。

最后,您將迭代哈希圖,打印它所具有的鍵和值。


查看完整回答
反對(duì) 回復(fù) 2023-08-04
?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

請(qǐng)嘗試下面的代碼 -


public class Users {


public String userName;

public String userNumber;


public Users(String userName, String userNumber) {

    this.userName = userName;

    this.userNumber = userNumber;

}


public String getUserName() {

    return userName;

}


public void setUserName(String userName) {

    this.userName = userName;

}


public String getUserNumber() {

    return userNumber;

}


public void setUserNumber(String userNumber) {

    this.userNumber = userNumber;

}


public static void main(String ar[]) {


    ArrayList<Users> model = new ArrayList<Users>();

    model.add(new Users("abc", "123"));

    model.add(new Users("def", "888"));

    model.add(new Users("abc", "246"));

    model.add(new Users("def", "999"));

    model.add(new Users("abc", "456"));


    Map<String, Set<String>> map = model.stream().collect(Collectors.groupingBy(Users::getUserName,

            Collectors.mapping(Users::getUserNumber, Collectors.toSet())));

    for (Map.Entry<String, Set<String>> entry : map.entrySet()) {

        Set set = entry.getValue();

        Iterator value = set.iterator();

        while (value.hasNext()) {

            System.out.println(entry.getKey() + " : " + value.next());

        }

    }


}

}


查看完整回答
反對(duì) 回復(fù) 2023-08-04
  • 5 回答
  • 0 關(guān)注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)