最简单的方法CharSequence[]是ArrayList<String>什么?
当然,我可以遍历每个ArrayList项目并复制到CharSequence数组,但也许有更好/更快的方式?
我有一个关于Java的基本问题ArrayList.
当ArrayList被声明和初始化使用默认构造,对于10个元件的存储器空间被创建.现在,当我添加第11个元素时,会发生什么?是否会创建具有20(或更多)元素容量的新内存空间(这需要将元素从第一个内存位置复制到新位置)还是其他一些东西?
我查了这里.但我没有找到答案.
请分享知识.谢谢.
对于LinkedList
- 得到的是O(n)
- 加是O(1)
- 删除是O(n)
- Iterator.remove是O(1)
对于ArrayList
- 得到的是O(1)
- add是O(1)摊销,但O(n)最坏情况,因为必须调整和复制数组
- 删除是O(n)
因此,通过观察这一点,我得出结论,如果我只是在我的集合中为5000000个元素执行顺序插入,那么LinkedList将会超出ArrayList.
如果我只是通过迭代来获取集合中的元素,即不在中间抓取元素,仍然LinkedList会超出`ArrayList.
现在要验证我的上述两个陈述,我在下面写了示例程序...但我很惊讶我的上述陈述被证明是错误的.
ArrayListLinkedlist在两个案件中都超过了.花费的时间少于LinkedList添加以及从Collection中获取它们所花费的时间.有什么我做错了,或有关初步陈述LinkedList和ArrayList尺寸为500万的收藏品不成立?
我提到了尺寸,因为如果我将元素数量减少到50000,那么LinkedList表现更好,初始语句也成立.
long nano1 = System.nanoTime();
List<Integer> arr = new ArrayList();
for(int i = 0; i < 5000000; ++i) {
arr.add(i);
}
System.out.println( (System.nanoTime() - nano1) );
for(int j : arr) {
;
}
System.out.println( (System.nanoTime() - nano1) );
long nano2 = System.nanoTime();
List<Integer> arrL = new …Run Code Online (Sandbox Code Playgroud) 我正在Scala中做一个项目,但我对这门语言很新,并且有Java背景.我看到Scala没有ArrayList,所以我想知道Scala相当于Java的ArrayList被调用,以及Java和Scala版本之间是否存在任何重要差异.
编辑: 我不是在寻找特定的行为,而是内部表示(存储在数组中的数据,但整个数组不可见,只有您使用的部分).
我目前正在使用属于ArrayList类的contains方法进行搜索.有没有办法让这个搜索案例在java中不敏感?我发现在C#中可以使用OrdinalIgnoreCase.有没有Java等价物,或其他方式来做到这一点?谢谢.
我有一个ArrayList,其值为"abcd#xyz"和"mnop#qrs".我想将它转换为数组,然后用#作为分隔符拆分它,并在数组中使用abcd,mnop,在另一个数组中使用xyz,qrs.我尝试了以下代码:
String dsf[] = new String[al.size()];
for(int i =0;i<al.size();i++){
dsf[i] = al.get(i);
}
Run Code Online (Sandbox Code Playgroud)
但它没有说"Ljava.lang.String; @ 57ba57ba"
你能帮我吗.
我正在谷歌搜索它似乎无法找到语法.我arraylist可能会以不同基于用户设置来填充,所以我初始化它
ArrayList<Integer> arList = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
而现在我想添加数百个整数,而不是一个一个地添加 arList.add(55);
这两个声明有什么区别?
声明1:
ArrayList<String> arrayList = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
宣言2:
List<String> arrayList = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud) 也许是一个愚蠢的问题:我有一种List类型<Data>,我想编组成一个XML文件.这是我的班级Database包含ArrayList...
@XmlRootElement
public class Database
{
List<Data> records = new ArrayList<Data>();
public List<Data> getRecords() { return records; }
public void setRecords(List<Data> records) { this.records = records; }
}
Run Code Online (Sandbox Code Playgroud)
......这是班级数据:
// @XmlRootElement
public class Data
{
String name;
String address;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getAddress() { return address; }
public void setAddress(String address) { this.address = address; }
} …Run Code Online (Sandbox Code Playgroud) 通过使ArrayList(或其他Collection)最终获得哪些优点/缺点?我仍然可以添加ArrayList新元素,删除元素并更新它.但是什么影响使它成为最终的?
arraylist ×10
java ×9
collections ×3
arrays ×2
charsequence ×1
final ×1
jaxb ×1
linked-list ×1
scala ×1
xml ×1