我有一個持有學生對象如下的ArrayList:從一個鍵移動值到另一個HashMap中
List<Students> stdList = new ArrayList<Students>();
stdList.add(new Students(1,"std1","address1"));
stdList.add(new Students(2,"std2","address2"));
stdList.add(new Students(3,"std3","address3"));
stdList.add(new Students(4,"std4","address4"));
stdList.add(new Students(5,"std5","address5"));
stdList.add(new Students(6,"std6","address6"));
stdList.add(new Students(7,"std7","address7"));
stdList.add(new Students(8,"std8","address8"));
現在,我需要將stdList劃分含等於沒有學生說的兩組4在這種情況下,並將它們添加到HashMap中我實現:
int j=0;
HashMap<Integer,List<Students>> hm = new HashMap<>();
for (int i = 0; i < stdList.size(); i = i + 4)
{
j++;
hm.put(j,stdList.subList(i, i + 4));
}
HashMap中現在包含密鑰值對爲:
{1=[1 std1 address1, 2 std2 address2, 3 std3 address3, 4 std4 address4], 2=[5 std5 address5, 6 std6 address6, 7 std7 address7, 8 std8 address8]}
現在我需要移動一個值,說「3 STD3地址3」,從「密鑰1」至「密鑰2」,如:
{1=[1 std1 address1, 2 std2 address2, 4 std4 address4], 2=[5 std5 address5, 6 std6 address6, 7 std7 address7, 8 std8 address8,3 std3 address3]}
我怎樣才能做到這一點?
是否要合併值或覆蓋? – MadConan
您是否在大規模數據中詢問搜索算法,或者直接詢問如何更改HashMap中的條目? – Dropout