我如何转换数组

问题描述

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

 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个数组。两个带键,两个带值。然后再次添加

有什么想法吗?

解决方法

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

 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
     */
 })