经过深思熟虑并着眼于实施ArrayList,我个人真的想说它已经过时了,我没有理由在2.0之后使用这个类.但由于它没有被标记为[Obsolete],是否有任何我不知道的用法,比使用泛型类更好?如果是,请举个例子.谢谢.
编辑让我们以List<T>一个例子来说,它提供了所有函数ArrayList,并且它是强类型的.那么我们什么时候需要使用ArrayList?也许有时它会有更好的表现?我不知道.如果你能告诉我一些特别的东西,我感激不尽ArrayList.
如何从Java ArrayList中过滤掉一些内容,如果你有:
过滤器是"如何"它将删除乔和迈克.
我从文本文件中读取数据,因此可能有:
John Mary John Leeds
我现在需要在ArrayList中获得3个唯一元素,因为文件输出中只有3个唯一值(如上所述).
我可以使用HashTable并向其添加信息,然后只需将其数据复制到List中.还有其他解决方案吗?
如何检查两个ArrayLists是否彼此不同?我不在乎有什么不同,我只是想知道他们是不是一样.
我每分钟从数据库中获取分数列表,并且只有当我获取的分数列表与我在一分钟前获取的分数列表不同时,我才想将其发送给客户端.
现在,ArrayList的值实际上是我创建的一个类(包含name,lvl,rank,score).
我需要实施equals()吗?
我试图从两个文件读入并将它们存储在两个单独的arraylists中.这些文件由一行中的单词或由逗号分隔的多个单词组成.我用以下代码读取每个文件(不完整):
ArrayList<String> temp = new ArrayList<>();
FileInputStream fis;
fis = new FileInputStream(fileName);
Scanner scan = new Scanner(fis);
while (scan.hasNextLine()) {
Scanner input = new Scanner(scan.nextLine());
input.useDelimiter(",");
while (scan.hasNext()) {
String md5 = scan.next();
temp.add(md5);
}
}
scan.close();
return temp;
Run Code Online (Sandbox Code Playgroud)
我现在需要读取两个文件并删除第一个文件中的所有单词,这些单词也存在于第二个文件中(文件中有一些重复的单词).我尝试过for循环和其他类似的东西,但没有任何工作,所以任何帮助将不胜感激!
奖金问题:我还需要找出两个文件中有多少重复项 - 我通过将两个arraylists添加到HashSet然后从两个arraylists的组合大小中减去集合的大小来完成此操作 - 这是一个好的解决方案,还是可以做得更好?
.size()和之间有什么区别.length?是.size()仅适用于的ArrayList和.length只为数组?
如果是这样的循环,如:
__PRE__
与...一样
__PRE__
这是一个ArrayList的简单排序程序:
ArrayList<String> list = new ArrayList<String>();
list.add("1_Update");
list.add("11_Add");
list.add("12_Delete");
list.add("2_Create");
Collections.sort(list);
for (String str : list) {
System.out.println(str.toString());
}
Run Code Online (Sandbox Code Playgroud)
我期待这个程序的输出为:
1_Update
2_Create
11_Add
12_Delete
Run Code Online (Sandbox Code Playgroud)
但是当我运行这个程序时,我得到输出为:
11_Add
12_Delete
1_Update
2_Create
Run Code Online (Sandbox Code Playgroud)
为什么这样,如何让ArrayList按预期输出显示排序?
Vector是同步的,ArrayList不是同步的,但是我们可以同步一个ArrayList Collections.synchronizedList(aList),这样会更好更快地执行吗?
我已经实现了一种方法,它只是循环一组包含许多不同模块数据的CSV文件.然后将'moduleName'添加到hashSet中.(代码如下所示)
我使用了一个hashSet,因为它保证不会插入重复项而不是ArrayList,它必须使用contains()方法并遍历列表以检查它是否已存在.
我相信使用哈希集具有比数组列表更好的性能.我说的是正确的吗?
还有,有人可以向我解释一下:
使用big-O表示法的复杂性是多少?
HashSet<String> modulesUploaded = new HashSet<String>();
for (File f: marksheetFiles){
try {
csvFileReader = new CSVFileReader(f);
csvReader = csvFileReader.readFile();
csvReader.readHeaders();
while(csvReader.readRecord()){
String moduleName = csvReader.get("Module");
if (!moduleName.isEmpty()){
modulesUploaded.add(moduleName);
}
}
} catch (IOException e) {
e.printStackTrace();
}
csvReader.close();
}
return modulesUploaded;
Run Code Online (Sandbox Code Playgroud)
}
我想快速删除最后一个对象ArrayList.
我知道remove(Object O)接受O(n)一个ArrayList,但我想知道是否有可能在恒定时间内这样做,因为我只想删除最后一个对象?