我尝试将数组放入数组列表
ArrayList <DNA> matingppool;
数组为0和1
当我尝试以某种方式在logcat中显示它时
population [letsmat [i]].getBiner ()
结果是
[I @ 25a0766d
但是当我以某种方式显示logcat时
Arrays.toString (population[letsmat[i]].getBiner ())
logcat显示
[0, 0, 0, 1]
问题是
将数组输入到池arraylist中以使arraylist再次返回数组值的最佳方法是什么?
matingppool.add (population [letsmat [i]]);
或这个
matingppool.add (Arrays.toString (population [letsmat [i]]. getBiner ()));
“ [I @ 25a0766d”代表数组吗?
答案 0 :(得分:1)
有两种方法可以将数组添加到arraylist中, ->第一个使用arrays.asList()
ArrayList<String> arrayList=new ArrayList<>();
String[] data=new String[]{"ABC","DEF","GHI"};
arrayList.addAll(Arrays.asList(data));
->第二个是使用Colliections,
ArrayList<String> arrayList=new ArrayList<>();
String[] data=new String[]{"ABC","DEF","GHI"};
Collections.addAll(arrayList, data);
这将为您工作。
答案 1 :(得分:1)
要了解这表示什么:[I @ 25a0766d
,请转到下面的链接
https://stackoverflow.com/a/8410311/1664430
您可以使用Arrays.asList()
的{{1}}和addAll
方法来简化实现。下面是示例代码
List
如果您的目的是在public static void main(String[] args) {
List<String> lst = new ArrayList<>();
String[] strLst = { "1,", "2", "3" };
lst.addAll(Arrays.asList(strLst));
System.out.println(lst);
}
上进行打印/迭代,则也可以使用lambda表达式
Array
答案 2 :(得分:0)
好的,我对您的问题的理解是,我们假设有一个User
类
public class User {
private String userId;
private String userName;
private String userEmail;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String toString() {
return userId + " " + userName + " " + userEmail;
}
}
如果我们创建ArrayList
中的Class User
,并使用它打印
ArrayList<User> users = new ArrayList<>();
//Add Items in ArrayList
用于打印使用代码
for(Users user : users){
Log.d("TAG",user.toString);
}
它将打印User
ArrayList
中的值。不要忘记在Model类中添加toString()
方法
希望它对您有帮助。
答案 3 :(得分:-1)
请仔细阅读以下示例。
覆盖toString()
方法以在系统输出中打印Class对象。
如果不清楚,请发表评论。
public static void main(String[] args) {
//Part1: Add toString() Method in DNA class
ArrayList<DNA> matingPool = new ArrayList<>();
matingPool.add(new DNA());
matingPool.add(new DNA());
matingPool.add(new DNA());
System.out.println(matingPool);
//Part2: use AddAll to add all the objects in one go.
ArrayList<DNA> newMatingPool = new ArrayList<>(); // You can do new ArrayList<>(matingPool) as well.
newMatingPool.addAll(matingPool);
System.out.println(newMatingPool);
}
static class DNA {
int a;
String b;
public DNA() {
this.a = 10;
this.b = "BB";
}
@Override
public String toString() {
return "DNA{" +
"a=" + a +
", b='" + b + '\'' +
'}';
}
}