arraylist集合遍历出来的是地址
时间: 2024-05-10 13:15:31 浏览: 83
当你使用 ArrayList 的 toString() 方法进行输出时,它会默认调用每个元素的 toString() 方法并将它们组合成一个字符串。因此,如果你只是简单地打印 ArrayList 对象,它会输出类似于这样的地址信息:[Ljava.lang.Object;@2a139a55。
如果你想要遍历 ArrayList 的所有元素并输出它们的值,你可以使用 for 循环或者 foreach 循环来遍历 ArrayList,然后使用元素的 toString() 方法来输出每个元素的值。例如:
```java
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
// 使用 for 循环遍历 ArrayList
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).toString());
}
// 使用 foreach 循环遍历 ArrayList
for (String fruit : list) {
System.out.println(fruit.toString());
}
```
这样输出的就是 ArrayList 中每个元素的值,而不是地址。
相关问题
ArrayList对象遍历修改
要遍历并修改ArrayList对象,你可以使用for循环或者迭代器来实现。以下是两种常见的方法:
1. 使用for循环:
```java
ArrayList<Object> list = new ArrayList<Object>();
// 假设有一些元素在list中
for (int i = 0; i < list.size(); i++) {
Object element = list.get(i);
// 进行修改操作
// 修改后的值可以通过 list.set(i, newValue) 来更新
}
```
2. 使用迭代器:
```java
ArrayList<Object> list = new ArrayList<Object>();
// 假设有一些元素在list中
Iterator<Object> iterator = list.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
// 进行修改操作
// 修改后的值可以通过 iterator.set(newValue) 来更新
}
```
无论你选择哪种方法,都要小心修改ArrayList中的元素时,确保不会改变集合的大小,否则可能会导致意外的结果。此外,如果你需要在循环中删除元素,最好使用迭代器的`remove()`方法来安全地删除元素。
遍历arraylist集合
可以使用for循环遍历ArrayList集合,也可以使用迭代器Iterator遍历ArrayList集合。
1. 使用for循环遍历ArrayList集合:
```java
ArrayList<String> list = new ArrayList<String>();
list.add("Java");
list.add("Python");
list.add("C++");
for(int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
```
2. 使用迭代器Iterator遍历ArrayList集合:
```java
ArrayList<String> list = new ArrayList<String>();
list.add("Java");
list.add("Python");
list.add("C++");
Iterator<String> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
```
阅读全文