循环数组只有两个对象分配给Map?

问题描述 投票:0回答:1

我试图在一个示例中循环只有两个对象的对象数组,并通过设置键和从数组对象获取的值获取值以将其分配给地图。如何区分对象1和对象2与数组进入map1和map2对象?我想在map1中使用索引为0的数组的值,在另一个映射中使用索引为1的另一个数组。

Map<String,String> map1 = new HashMap<String,String>();
Map<String,String> map2 = new HashMap<String,String>();

for(MyArray obj : actualArray){

//how can i the object 1 and object 2 from the array and assign it to the map1 for object1 values and map2 for object2 values.??

}

我正在尝试下面的方法,而不是循环,如果任何一个对象不可用,抛出arrayOutOfBoundException;

map1.put("firstName", myArray[0].getFirstName());
map1.put("firstName", myArray[0].getLasttName());

map2.put("firstName", myArray[1].getFirstName());
map2.put("firstName", myArray[1].getLasttName());

我试图在网上找到一些解决方案和示例,但没有运气,任何建议和帮助将不胜感激,因为我是java编程的新手。

java arrays hashmap java-ee-6
1个回答
1
投票

可能这个片段会有所帮助。根据Guest01的建议,您应该考虑创建一个地图列表以轻松完成分配。

    List<Map<String, String>> mapList = new ArrayList<>();
    if (myObjects != null && myObjects.length > 0) {
        for (myObject myObject : myObjects) {
            Map<String, String> mapItem = new HashMap<>();
            if (myObject != null /*&& Other Checks on FirstName and LastName*/) {
                mapItem.put("firstName", myObject.getFirstName());
                mapItem.put("lastName", myObject.getLastName());
                mapList.add(mapItem);
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.