簡體   English   中英

如何將 List 轉換為 Map 並使 map 成為對象屬性的鍵

[英]How to convert List to Map and make the map key the object's attributes

如果我有一個 class 交易:

 public class Transaction { @Id @Column(name = "id") private Long id; private String customerName; private String phoneNumber; //...getters and setters }

我通過 Spring 存儲庫找到了 customerName 的交易:

 List<Transaction> findByCustomerName(String customerName);

然后我想使用以下代碼將事務列表轉換為 map,但不是特定值,有沒有辦法使地圖的鍵成為 object 屬性?

 Map<Long, Transaction> transactionMap = transactionList.stream().collect(Collectors.toMap(Transaction::getId, Function.identity()));

因此,在 Transaction::getId 處,不是該事務 object 的特定 id,我只希望它是字符串屬性“Id”,但我希望它是列表中的任何屬性......所以Transaction 的下一個屬性是 customerName,所以它不會顯示“Id”它應該顯示“customerName”

我不確定您想要的內容如下所示,我假設 class Transaction中有一個默認構造函數及其字段。

代碼片段

Transaction t1 = new Transaction(10L, "AAA", "0987654321");
Transaction t2 = new Transaction(20L, "BBB", "0901234567");

List<Transaction> transactionList = new ArrayList<>();
transactionList.add(t1);
transactionList.add(t2);

// Use id as the key
Map<Long, Transaction> transactionMap1 = transactionList.stream()
         .collect(Collectors.toMap(Transaction::getId, Function.identity()));
System.out.println(transactionMap1.toString());

// Use customerName as the key
Map<String, Transaction> transactionMap2 = transactionList.stream()
         .collect(Collectors.toMap(Transaction::getCustomerName, Function.identity()));
System.out.println(transactionMap2.toString());

控制台 output

{20=交易 [id=20, customerName=BBB, phoneNumber=0901234567], 10=交易 [id=10, customerName=AAA, phoneNumber=0987654321]}
{AAA=交易 [id=10, customerName=AAA, phoneNumber=0987654321], BBB=交易 [id=20, customerName=BBB, phoneNumber=0901234567]}

轉換列表<object>映射<div id="text_translate"><p>我有一個包含四個字段的Employee類:id、name、department 和 email。 我創建了五個對象,設置了值並將它們全部添加到列表中。</p><p> 現在,我想將該列表轉換為地圖,但我做不到。 供您參考,這是我嘗試過的代碼</p><pre>Employee emp1 = new Employee("1", "Mayank", "HR", "mayank@gmail.com"); Employee emp2 = new Employee("2", "Mahesh", "Trainer", "Mahesh@gmail.com"); Employee emp3 = new Employee("3", "Vipul", "SEO", "Vipul@gmail.com"); Employee emp4 = new Employee("4", "Ajay", "Devlopwr", "Ajay@gmail.com"); Employee emp5 = new Employee("5", "Rakesh", "Marketing", "Rakesh@gmail.com"); //add class object to list List &lt; Employee &gt; listWmp = new ArrayList &lt; &gt; (); listWmp.add(0, emp1); listWmp.add(1, emp2); listWmp.add(2, emp3); listWmp.add(3, emp4); listWmp.add(4, emp5); System.out.println("list elements are: " + listWmp); //convert the list into map Map &lt; String, Employee &gt; listMap = new HashMap &lt; &gt; (); for (Employee employee: listWmp) { listMap.put(employee.getEmpId(), employee.getEmpBame()); }</pre><p> 如何將列表轉換為地圖?</p></div></object>

[英]convert List<object> to map

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 如何將具有 object 作為密鑰的 Map 列表轉換為 Map? 將值列表轉換為地圖<key, List<Object> &gt; 如何使用Java中的對象字段將對象列表轉換為映射 轉換列表<object>映射<div id="text_translate"><p>我有一個包含四個字段的Employee類:id、name、department 和 email。 我創建了五個對象,設置了值並將它們全部添加到列表中。</p><p> 現在,我想將該列表轉換為地圖,但我做不到。 供您參考,這是我嘗試過的代碼</p><pre>Employee emp1 = new Employee("1", "Mayank", "HR", "mayank@gmail.com"); Employee emp2 = new Employee("2", "Mahesh", "Trainer", "Mahesh@gmail.com"); Employee emp3 = new Employee("3", "Vipul", "SEO", "Vipul@gmail.com"); Employee emp4 = new Employee("4", "Ajay", "Devlopwr", "Ajay@gmail.com"); Employee emp5 = new Employee("5", "Rakesh", "Marketing", "Rakesh@gmail.com"); //add class object to list List &lt; Employee &gt; listWmp = new ArrayList &lt; &gt; (); listWmp.add(0, emp1); listWmp.add(1, emp2); listWmp.add(2, emp3); listWmp.add(3, emp4); listWmp.add(4, emp5); System.out.println("list elements are: " + listWmp); //convert the list into map Map &lt; String, Employee &gt; listMap = new HashMap &lt; &gt; (); for (Employee employee: listWmp) { listMap.put(employee.getEmpId(), employee.getEmpBame()); }</pre><p> 如何將列表轉換為地圖?</p></div></object> 如何轉換列表<map<string, object> > 列出<map<string, string> > </map<string,></map<string,> 如何將列表轉換為 Map 的 Map 轉換列表<Map>列出<Map<String,Object> &gt; 如何將Map轉換為用戶對象列表? 如何將字符串和對象的映射轉換為字符串和列表的映射 如何轉換列表<map<string,object> > 至 Map<string, string> ? </string,></map<string,object>
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM