这是我的java代码:
package utils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import static com.app.core.AcType.*;
import static java.time.LocalDate.parse;
import com.app.core.BankAccount;
public interface CollectionUtils {
//add a static method to return fixed size populated list of bank accounts
static List<BankAccount> populateAcctList() {
return Arrays.asList(new BankAccount(10, "abc1", SAVING, 10000, parse("2020-01-19")),
new BankAccount(100, "abc4", FD, 200000, parse("2019-01-19")),
new BankAccount(34, "abc3", CURRENT, 5000, parse("2010-11-29")),
new BankAccount(15, "abc6", SAVING, 12000, parse("2011-06-23")),
new BankAccount(64, "abc8", SAVING, 9000, parse("2020-01-19")),
new BankAccount(49, "abc2", DMAT, 13000, parse("2020-01-19"))
);
}
//add a method to ret a populated growable hashmap from above sample data ??????
static HashMap<String, BankAccount> populateAccountHashMap(){
return
}
}
我添加了一个 static
方法返回固定大小的银行帐户填充列表!现在,我想添加一个 static
方法从相同的数据返回填充的可增长hashmap!我不知道怎么做?
3条答案
按热度按时间vaqhlq811#
假设你有
List<BankAccount>
命名accounts
你可以这样做。这假定名称是银行帐户示例中的第二个元素(或其他字符串),并且具有显示的getter。如果你想把钥匙换成别的东西,就相应地调整一下。请注意,这个特定的解决方案假设密钥和银行帐户是一对一的Map。如果您有重复的密钥(即在本例中,每个名称有多个帐户),它将抛出一个异常。然后您可以这样做,其中每个名称将引用一个相似的命名帐户列表。
camsedfj2#
我有我的答案!
已经核实了!
m1m5dgzv3#
当您使用Java9+时
Map.of()
是有用的。编辑
我修正了我的例子。请注意
Map.of()
返回一个不可变的Map,因此需要将其 Package 以使其可增长。