我是java的初学者,需要一些帮助.
我试图将一个关联列表的抽象数据类型Foo转换为字符串B的Arraylist.如何遍历列表并将每个字符串添加到数组中.
我可能在思考它,但我现在迷失了.
我在这里先向您的帮助表示感谢.
鉴于类中存在以下内容,如何编写打印列表中每个项目的for-each?
private ArrayList<String> list;
list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
我有:
for (String object: list) {
System.out.println(object);
}
Run Code Online (Sandbox Code Playgroud) 比方说我有一个 ArrayList<String> data;
我正在使用data.add()函数将一些数据添加到此数组中.假设我在这个数组中添加了10个字符串.现在数组的大小为10.
我如何销毁数组中的所有元素?该data.clear()函数只将所有10个元素设置为null.因此,当我尝试添加另一个元素时,它只是处于11位置.我只想从0开始;
我可以使用for循环来替换所有数据,但我真的认为有一种方法可以清空ArrayList.是吗?
在Java中,我有一个带有这些值的arraylist(很多行,这只是一个提取)
20/03/2013 23:31:46 6870 6810 6800 6720 6860 6670 6700 6650 6750 6830 34864 34272 20/03/2013 23:31:46 6910 6780 6800 6720 6860 6680 6620 6690 6760 6790 35072 34496
前两个值是包含数据并存储在单个元素中的字符串.
我想要做的是比较字符串数据元素和删除例如第二个和引用该行的所有元素.
现在,我使用了一个for循环,每13个元素比较字符串(为了只比较数据字符串)
我的问题:我能实施其他更好的解决方案吗?
这是我的代码:
20/03/2013 23:31:46 6870 6810 6800 6720 6860 6670 6700 6650 6750 6830 34864 34272
20/03/2013 23:31:46 6910 6780 6800 6720 6860 6680 6620 6690 6760 6790 35072 34496
Run Code Online (Sandbox Code Playgroud) ArrayList如果它们符合条件,我需要删除一些对象,我想知道哪种方式可以更有效.
这是情况:我有一个ArrayList包含一些其他对象的类.我必须迭代这个ArrayList并删除满足特定条件的所有元素.据我所知,这些将是我删除的选项:
创建一个新的ArrayList并添加不符合条件的元素.在迭代之后,从旧的arraylist交换到没有元素的新arraylist.
创建一个新的ArrayList并添加符合条件的元素.在迭代之后,使用removeAll()传递ArrayList包含要删除的对象的方法.
是否有更有效的方法从ArrayList?删除对象?
ArrayList<String> values=new ArrayList<String>();
values.add("s");
values.add("n");
values.add("a");
values.add("s");
Run Code Online (Sandbox Code Playgroud)
在这个数组中,我想删除重复的值.
我有两个活动,在第一个活动中,我实现了一个Object myObject的ArrayList.在第二项活动中,我需要得到这个Arraylist.我找到了一个教程:http://prasanta-paul.blogspot.com/2010/06/android-parcelable-example.html 我已经实现了我的课喜欢它的解释.
公共类Chapitre实现Parcelable {
private int numero;
private String titre;
private String description;
private int nbVideo;
private ArrayList<Video> listeVideo;
public Chapitre(int numero, String titre, String description,
ArrayList<Video> listeVideo) {
this.numero = numero;
this.titre = titre;
this.description = description;
this.listeVideo = listeVideo;
this.nbVideo = listeVideo.size();
}
//Getters and Setters ...
private Chapitre(Parcel source) {
numero = source.readInt();
titre = source.readString();
description = source.readString();
nbVideo = source.readInt();
source.readTypedList(listeVideo, Video.CREATOR);
}
@Override
public int describeContents() {
return 0;
} …Run Code Online (Sandbox Code Playgroud) 我正在生成一个对象的ArrayList.以下是代码
ArrayList someArrayList = new ArrayList();
Public ArrayList getLotOfData()
{
ArrayList someData = new ArrayList();
return someData;
}
someArrayList = eDAO.getLotOfData();
Run Code Online (Sandbox Code Playgroud)
一旦我有了这个ArrayList对象"someArrayList",我想将它声明为public和final,并将其存储在Constants文件中,以便可以全局访问它.有没有办法可以做到这一点?如果我将Arraylist对象声明为public和final,那么我将无法为其重新赋值.我尝试了以下内容
public final ArrayList anotherArrayList = new ArrayList();
anotherArrayList.addAll(someArrayList);
Run Code Online (Sandbox Code Playgroud)
我曾希望将"anotherArrayList"存储为全局ArrayList对象并使用它,但这会返回一个nullpointer异常.我想像String常量"ConstantsFile.anotherArrayList"一样使用它.有任何想法吗???
public class Main {
public static void main(String[] args) {
ArrayList<Integer> ar = new ArrayList<Integer>();
List l = new ArrayList();
l.add("a");
l.add("b");
ar.addAll(l);
System.out.println(ar);
}
}
Run Code Online (Sandbox Code Playgroud)
输出: [a,b]
你不能直接添加String到ArrayList<Integer> ar,但通过使用addAll()是可能的.
我们如何可以添加String到ArrayList其类型已经被指定为Integer?任何人都可以突出显示清晰的实施细节和背后的原因吗
据我所知,当我们创建一个ArrayList:
ArrayList<String> list = new ArrayList<String>(SIZE);
Run Code Online (Sandbox Code Playgroud)
JVM为它保留了连续的内存部分.当我们在列表中添加新元素时,当元素数量达到75%时,SIZE会保留一个新的,连续的内存部分并复制所有元素.
我们的名单越来越大.我们正在添加新对象,并且必须再次重建列表.
现在发生了什么?
JVM正在寻找一个连续的内存段,但它找不到足够的空间.
垃圾收集器可以尝试删除一些未使用的引用并对内存进行碎片整理.如果JVM在此过程之后无法为新的列表实例保留空间,会发生什么?
是否使用最大可能的段创建一个新的?哪个Exception会被抛出?
我读了这个问题Java:ArrayList如何管理内存,其中一个答案是:
参考不会占用太多空间.但无论如何,使用了一些空间.当数组越来越大时,可能会出现问题.我们也不能忘记我们还有另外一些使用内存空间的东西.
arraylist ×10
java ×10
android ×2
collections ×1
constants ×1
final ×1
for-loop ×1
generics ×1
global ×1
list ×1
memory ×1
parcelable ×1
performance ×1
raw-types ×1