我有一个人口稠密的arraylist,我想清除和重用.如果我清除它会释放以前使用过的内存吗?
我还应该提一下,arraylist是一个私有的只读字段,在我第一次使用arraylist之后仍然有许多活跃的工作要做.所以我不能等到课后超出范围的垃圾收集.
Clear方法足够快吗?或者我应该销毁并创建一个新的arraylist?
问题更新:
如果我有这样的字段声明(感谢Jon的建议)
/// <summary>
/// Collection of tasks.
/// </summary>
private List<Task> tasks = new List<Task>();
Run Code Online (Sandbox Code Playgroud)
然后我填充它....(严重)
现在,如果不是清除和修剪,我可以打电话:
tasks = new List<Task>();
Run Code Online (Sandbox Code Playgroud)
这会被推荐吗?
我想保存一个ArrayList,以便它是持久的.内容可以改变.在android中接近这个的最佳方法是什么?
我必须使用Java计算文本文档中唯一单词的数量.首先,我必须摆脱所有单词中的标点符号.我使用Scanner该类扫描文档中的每个单词并放入一个字符串ArrayList.
所以,下一步是我遇到问题的地方!如何创建一个可以计算数组中唯一字符串数的方法?
例如,如果数组包含apple,bob,apple,jim,bob; 此数组中唯一值的数量为3.
public countWords() {
try {
Scanner scan = new Scanner(in);
while (scan.hasNext()) {
String words = scan.next();
if (words.contains(".")) {
words.replace(".", "");
}
if (words.contains("!")) {
words.replace("!", "");
}
if (words.contains(":")) {
words.replace(":", "");
}
if (words.contains(",")) {
words.replace(",", "");
}
if (words.contains("'")) {
words.replace("?", "");
}
if (words.contains("-")) {
words.replace("-", "");
}
if (words.contains("‘")) {
words.replace("‘", "");
}
wordStore.add(words.toLowerCase());
}
} catch (FileNotFoundException e) {
System.out.println("File Not Found");
}
System.out.println("The total …Run Code Online (Sandbox Code Playgroud) 我有以下ArrayList ...
ArrayList<ArrayList<Integer>> row1 = new ArrayList<ArrayList<Integer>>();
Run Code Online (Sandbox Code Playgroud)
添加了以下arraylists ....
row1.add(cell1);
row1.add(cell2);
row1.add(cell3);
row1.add(cell4);
row1.add(totalStockCell);
Run Code Online (Sandbox Code Playgroud)
我想遍历arraylist row1并打印内容.
循环中的循环会在这里工作吗?
例如
while(it.hasNext()) {
//loop on entire list of arraylists
while(it2.hasNext) {
//each cell print values in list
} }
Run Code Online (Sandbox Code Playgroud) 最近我读了一段对我来说很奇怪的代码.我们知道,当需要使用它们时,我们需要在集合中初始化泛型类型.此外,我们知道集合可以包含集合作为其元素.
代码:
public class Solution {
public static void main(String args[]) {
ArrayList res = returnlist();
System.out.print(res.get(0));
}
public static ArrayList<ArrayList<Integer>> returnlist() {
ArrayList result = new ArrayList();
ArrayList<Integer> content = new ArrayList<Integer>();
content.add(1);
result.add(content);
return result;
}}
Run Code Online (Sandbox Code Playgroud)
我的问题是
ArrayList result = new ArrayList();用来创建一个对象,因为我们没有给集合提供实际的元素类型.result.add(content);集合来添加集合"结果"只是一个简单的集合.我们没有把它定义为一个ArrayList的ArrayList我是一位经验丰富的Java开发人员,我一直在看这样的事情
List<Integer> l = new ArrayList<Integer>(0);
Run Code Online (Sandbox Code Playgroud)
我真的无法理解.ArrayList当你知道它将超出容量时,创建一个初始容量为0的重点是什么?
这样做有什么好处吗?
基于这个伪代码,我试图为旅行商问题实现一个java fittness函数,但我不确定我是否做得对,有人可以帮助我.
N The number of cities to visit
T A tour (list of integers of size N)
D An N by N matrix containing each d(i,j)
Let s = 0
For i = 1 to (N-1)
Let a = ti
Let b = ti+1
Let s = s + d(a,b)
End For
Let end_city = tn
Let start_city = t1
Let s = s + d(end_city,start_city)
The tour length s
Run Code Online (Sandbox Code Playgroud)
我尝试用java编写这个
public static ArrayList<Integer> Fitness(){
int n = 10; …Run Code Online (Sandbox Code Playgroud) 只想检查数据是否已存在于ArrayList中,但每次都得到:Not Exist(s)而数据存在于ArrayList中,因此我在列表中获得重复记录.
DataArrayList.secondArraylist.add(new Second(actorList.get(position).getName(), actorList.get(position).getImage()));
System.out.println(DataArrayList.secondArraylist.size());
String strName = actorList.get(position).getName().toString();
Log.d("name:", strName);
for(int i=0; i<DataArrayList.secondArraylist.size(); i++)
{
if(DataArrayList.secondArraylist.get(i).getName().equals(strName)) {
System.out.println(DataArrayList.secondArraylist.get(i).getName());
Toast.makeText(context, "Exist(s)", Toast.LENGTH_SHORT);
}
else {
Toast.makeText(context, "Not Exist(s)", Toast.LENGTH_SHORT);
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
没有得到任何Toast消息,我用它来表示"数据存在"或"不存在"
最后:
我想将项目添加到arraylist如果已经不存在,否则想要显示Toast该项目已经存在(s)
我遇到了以下代码,一个添加元素的简单示例 List
List list = new ArrayList<Integer>();
ListIterator<Integer> litr = null;
list.add("A");
list.add("1");
list.add(5);
litr = list.listIterator();
while(litr.hasNext()){
System.out.println("UIterating " + litr.next());
}
Run Code Online (Sandbox Code Playgroud)
我希望它能抛出一个ClassCastException,而是将它写入控制台
A
1
5
Run Code Online (Sandbox Code Playgroud)
这看起来很奇怪.我试过的时候:
List<Integer> list = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
我有一个编译时错误.
如果有人能解释如何String添加对象,我将不胜感激ArrayList