有没有办法弄清楚ArrayList包含多少东西?让我们说:
ArrayList list = new ArrayList();
list.add("Hi");
list.add("Hi");
list.add("Hi");
现在我希望能够弄清楚有多少"Hi"在那里..任何简单的方法或小代码块?
我存储了java.util.List一些字符串,例如
[data1,data2,data3,data3,data7]
Run Code Online (Sandbox Code Playgroud)
在一个字符串中.
如何将其转换回String列表,知道某些值只是空的?
更新:我无法隐式转换.获取错误无法将字符串转换为字符串[].还尝试转换为列表.没有成功.
Update2:,因为数据也包含,不能用于拆分,
更新3:[/ Simplify.do,action,temp,test,data]带有但没有空格的数据是单个数据.
我有以下代码块:
ArrayList<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list2 = list1;
// both list1 and list2 are empty arraylists
System.out.println(list1.size()); // prints: 0
list2.add(7);
System.out.println(list1.size()); // prints: 1
Run Code Online (Sandbox Code Playgroud)
为什么我修改list2时,list1也被修改了?这导致ConcurrentModificationException了我的程序.如何在不更改list1的情况下编辑list2?
我正在尝试使用"Iterator".remove删除此ArrayList中具有偶数索引号的字符串.
import java.util.*;
import static java.lang.System.out;
class MAIN
{
public static void main(String args[])
{
ArrayList<String> al = new ArrayList<String>();
Iterator i = al.iterator();
int len;
Scanner sc = new Scanner(System.in);
out.printf("Size:");
len = sc.nextInt();
while( len!=0 )
{
al.add( sc.next() );
len -= 1;
}
Object o;
for( len = 0 ; len < al.size() ; len +=1)
{
out.println(al);
if( len%2==0 )
{
o = i.next();
out.println(o);
i.remove();
i.next();
}
}
return;
}
}
Run Code Online (Sandbox Code Playgroud)
我在i.next();得到了"ConcurrentModificationException".怎么了 ?
我有一个ArrayList<Item> items和两个继承的类Item,它们是Book和DVD.我在项目列表中添加了一些书籍和一些dvds
items.add(new Book());
items.add(new DVD());
Run Code Online (Sandbox Code Playgroud)
现在我想做一个
public void printAllBooks()
{
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能选择仅打印Item的子类Book?
我知道这个问题之前已被多次询问过,但我正在寻找基于类型擦除的答案.
为什么编译器在添加时Integer会出错ArrayList<String>?我希望通过类型擦除和add方法的字节码来理解这一点ArrayList.
我想从另一个数组中包含的数组中删除一些元素.
在Java中执行此操作的方法是:
myArray.removeAll(anotherArray)
Run Code Online (Sandbox Code Playgroud)
此代码删除anotherArrayfrom中包含的元素myArray.
有什么样去除所含的元素myArray交会anotherArray从myArray?
我正在尝试检索存储在ArrayList中的某个Long值的索引.但这是发生了什么:

dex被赋值为-1 - 我理解这意味着该对象在该arraylist中不存在.但事实上,确实如此.这就是我所知道的:

因此应该指定的值dex为0.
我搞砸了哪里?
编辑:nums也是Long类型的arraylist.
请尝试将项添加到arrayList,如下例所示:
ArrayList<Integer> list = new ArrayList<>();
list.add(2);
list.add(5);
list.add(7);
for(int i : list ){
if((i%2) == 0){
list.add(i*i);
}
}
Run Code Online (Sandbox Code Playgroud)
但它引发了一个例外
java.util.ConcurrentModificationException
Run Code Online (Sandbox Code Playgroud)
您能否建议我如何添加这样的项目或正确使用哪种列表(容器)?
因此,如果我有一类人,您可以在其中定义他们的姓名,年龄和出生日期.
public class Person
{
private String name;
private int age;
private String dOB;
public Person (String name, int age, String dateOfBirth)
{
this.name = name;
this.age = age;
dOB = dateOfBirth;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个成员资格类中,我有一个名为Members的arrayList.我知道如何通过以下方式添加Person:
import java.util.ArrayList;
public class Memberships
{
private ArrayList<Person> members;
public Memberships()
{
members = new ArrayList<Person>();
}
public void addMember(Person person)
{
members.add(person);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如何在不单独创建Person实例的情况下添加成员.所以从:
public void addMember(String name, int age, String dOB)
{
}
Run Code Online (Sandbox Code Playgroud)
这就是我陷入困境的地方我不知道如何使用这些值创建一个Person来添加到我的成员ArrayList中.
@dehlen抱歉!
public void addNewMember(String name, int age, String …Run Code Online (Sandbox Code Playgroud)