首页 > 解决方案 > 我如何转换数组

问题描述

我正在尝试使用序列化代理序列化 Observable Maps。这两个属性需要保存。

 private final MapProperty<Integer, Cargo> allCargoStoredMap;
 private final MapProperty<Cargo, CargoLogisticData> cargoLogisticDataMap;

我想我可以像这样将值保存在数组中:

this.cargoLogisticDataAsArray = warehouseManagement.getCargoCargoLogisticDataMap().values().toArray(new CargoLogisticData[0]);
this.cargoAsArray = warehouseManagement.getAllCargoStoredMapProperty().values().toArray(new Cargo[0]);

然后我想将 i 传递给构造函数,并重建属性。

    public Constructor (List<Cargor> cargos, List<CargoLogisticData>) {

    ObservableMap<Integer, Cargo> cargos = FXCollections.observableHashMap();
        
    //How do i add my cargos to a map?

    this.allCargoStoredMap = new SimpleMapProperty<>(cargos);
}

知道如何将列表条目添加到我的地图吗?

我想我可能必须保存 4 个数组。两个带键,两个带值。然后再次添加。

有任何想法吗 ?

标签: javadictionaryserializationpropertieshashmap

解决方案


如果我没有弄错,这可能是一个简单的解决方案

 allCargoStoredMap.values().stream().forEach(cargo -> {
     CargoLogisticData logisticsData=cargoLogisticDataMap.get(cargo);
     /*
     You have cargo and related logistics data here. 
     You can create which data model you want to store and use it
     */
 })

推荐阅读