java - 我如何转换数组
问题描述
我正在尝试使用序列化代理序列化 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 个数组。两个带键,两个带值。然后再次添加。
有任何想法吗 ?
解决方案
如果我没有弄错,这可能是一个简单的解决方案
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
*/
})
推荐阅读
- node.js - oAuth 2.0 access token validation node.js
- c# - 不区分大小写的 List.Contains():方法“包含”没有重载需要 2 个参数
- django - 获取属性错误:模块'matplotlib.pyplot'没有属性'canvas'
- javascript - GraphQL:在文件上传期间解决承诺时出错
- c# - 覆盖/更新文件夹中的现有图像文件
- javascript - 如何在mysql数据库中插入我的代码JS
- java - 为什么当 tabAt[i] 不为空时 ConcurrentHashMap 不使用“CAS”但使用“同步”
- java - Firebase UI RecyclerView
- c++ - 将 Doctest 与代码一起使用时将实现放在哪里
- robotframework - 使用 Robot Framework 的执行级别设置和拆卸