将数组转换为 LinkedList

我想将以下代码从数组转换为任何其他方式(最重要的是有效),这意味着有无限的空间,我不必设置数组的长度。

如何才能做到这一点?如何设置无限城市?使用链表

  • 这个想法是可以定义存储某些城市的某个国家(城市名称,市中心,中央汽车站,...... - 如下图所示) - 在我的代码中 MAX_NUM_CITIES = 1000;

http://img4.mukewang.com/627ce04b00016b8507510561.jpg

幕布斯6054654
浏览 218回答 1
1回答

MMTTMM

如果长度是,我会远离数组:未知可以换List我建议使用JDK的不同实现之一ArrayList,特别是LinkedList.第一个使用一个内部数组,如果添加一个元素,它可能会被扩展,并且会导致数组太小(它自己完成这一切,所以不用担心)。第二个是节点列表,这意味着对于您添加的每个元素,都会将一个新的(内部)节点对象附加到最后一个节点。您当然必须为此更改代码。将您定义_cities为List<City>:private List<City> _cities在构造函数中使用所需的实现对其进行初始化:_cities = new ArrayList<>();或_cities = new LinkedList<>();在您的 add 方法中,您只需调用:_cities.add(new City(cityName, XcityCenter, YcityCenter, XStationPoint, YStationPoint, numOfResidents, numOfNeighborhoods));在您的getNumOfResidents文件中,您可以使用以下代码段(它使用 Java 8 中引入的 Java 流式处理 API):return&nbsp;_cities.stream() &nbsp;&nbsp;&nbsp;&nbsp;.mapToLong(City::getNumOfResidents) &nbsp;&nbsp;&nbsp;&nbsp;.sum();因为getCities()您必须将返回类型更改为List<City>并使用以下内容:return new ArrayList<>(_cities)或return new LinkedList<>(_cities)取决于您要使用的实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java