English 中文(简体)
在这种情况下,ArrayList <String>或Sting[]阵列是否更好?
原标题:Would an ArrayList<String> or an String[] array be better in this case?

First and foremost-- I have a file of strings. The smallest file is about 20 strings. The largest file is currently 12,000 strings of varying lengths (anywhere from one character to about 80). I suspect I may have up to a 60,000 string file in the future.

最初,我做了标准阵列,缺省面积为200人,规模翻了一番,必要时将阵列复制到一个新的阵列(同时将档案翻译成阵列)。 这种方法相当快。 然而,可读性和可外加法,如搜查或包含在内,并不令人信服。 我在使用典型清单(电话)时尝试了一个清单接口,并读到文档,直到没有其他线。

我的问题是:ArrayList<的缺省规模如何;这种方法是否导致太多拨款/使用? 我是否应该知道这两种方法,哪些方法更好?

最佳回答

2. 射线式10级违约。 摊销成本并不昂贵,即使你从规模开始。 1. 导言 如果你以很高的能力开始计算费用,你可以将费用降至将近0:

List myList = new ArrayList<String>(100000);

Also, you should realize that the List interface doesn t intrinsically have any performance standards. Its implementations like LinkedList and ArrayList do.

Edit: I m lazy,永远不会使用直线阵列。 <代码>ArrayList, 相对而言,几乎所有职能,如<代码>add(<>>>,>和<代码>remove(>>。 传统的清单执行,即<代码>ArrayList,是我通常考虑的替代办法,但如果你在重新装载后一度建议进行检索,则使用<代码>ArrayList,以利用双轨搜索。

问题回答

大部分收藏有建筑商,使你能够建立初步能力。 我知道,ArrayList还采用一种方法,使你能够把名单的容量提高到一个最低数目,即<代码>ensureCapacity,并且确定这些适当方法可对收集资料的时间成本产生重大影响。

我假定你试图区分的是使用联系语言和阿雷拉语的人。

从您的提问来看,它希望你注意增加和寻找这些职能。

如果你再做大量外加的话,联系人就会更快,因为它总是需要增加奥(1)的费用,而一个阵列必须定期翻一番。 虽然正如“@bdares”所指出的,你可以仅指出一大批初步能力,尽管你可以最后用大量浪费的记忆这样做。

从中可以看出,阿雷拉派教徒由于切身处而将更快。 尽管双方都进行了线性搜查,但ArrayList将更快地登机。

我建议,如果你不关心你收回物品的命令,如果你想做大量电话的话,就与哈希姆帕拉接。 这将大大加快。

这种声音,如对我过早优化(除非你重新配对机动硬件或动力不足的硬件)。 简短回答:除非你有很明确的理由,否则总是使用ArrayList。

你们无疑会得到回应,谈论的是转售、初步分配规模等费用......但事实上,在当今硬件的处理时间方面,装载/操纵60k 座标为absolute peanuts。 很多学龄人仍然hang死,从目标分配和一般记忆运作缓慢的时代起。

总的来说,你几乎总是能够至少稍微提高业绩,推广自己的执行,这比 Java更“了解”你的问题领域,但这项工作很少值得。 我刚刚开端是一支ArrayList小队,说的是60k元素(从记忆使用来看也是绝对的花).)。

最近,我开展了一个项目,管理着价值数百万英镑的1-2英镑的复杂数据结构,而箱外的ArrayList和Hasmaap标准已经足够。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签