我需要知道是否将数据存储在ArrayList中,我需要获取存储在其中的值.
例如:如果我有这样的数组列表
ArrayList A = new ArrayList();
A = {"Soad", "mahran"};
Run Code Online (Sandbox Code Playgroud)
我想得到每个String元素,我该怎么做?
我尝试通过以下代码执行此操作:
package arraylist;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList S = new ArrayList();
String A = "soad ";
S.add(A);
S.add("A");
String F = S.toString();
System.out.println(F);
String [] W = F.split(",");
for(int i=0 ; i<W.length ; i++) {
System.out.println(W[i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
pol*_*nts 53
下面的代码片段给出了一个示例,说明如何从List指定索引处获取元素,以及如何使用高级for-each循环遍历所有元素:
import java.util.*;
//...
List<String> list = new ArrayList<String>();
list.add("Hello!");
list.add("How are you?");
System.out.println(list.get(0)); // prints "Hello!"
for (String s : list) {
System.out.println(s);
} // prints "Hello!", "How are you?"
Run Code Online (Sandbox Code Playgroud)
请注意以下事项:
List<String>和ArrayList<String>类型而不是原始ArrayList类型.list声明为List<String>,即接口类型而不是实现类型ArrayList<String>.class ArrayList<E> implements List<E>interface List<E>
E get(int index)
原始类型的使用仅允许作为遗留代码兼容性的让步.强烈建议不要在将通用性引入Java编程语言之后编写的代码中使用原始类型.未来版本的Java编程语言可能会禁止使用原始类型.
Effective Java 2nd Edition:第23项:不要在新代码中使用原始类型
如果使用原始类型,则会失去仿制药的所有安全性和表现力.
[...]你应该倾向于使用接口而不是类来引用对象.如果存在适当的接口类型,则应使用接口类型声明参数,返回值,变量和字段.
变量:除变量外,所有实例,类和类常量都是小写的第一个字母.
一个列表是一个有序的集合元素.您可以使用add方法添加它们,并使用get(int index)方法检索它们.您还可以迭代List,删除元素等.以下是使用List的一些基本示例:
List<String> names = new ArrayList<String>(3); // 3 because we expect the list
// to have 3 entries. If we didn't know how many entries we expected, we
// could leave this empty or use a LinkedList instead
names.add("Alice");
names.add("Bob");
names.add("Charlie");
System.out.println(names.get(2)); // prints "Charlie"
System.out.println(names); // prints the whole list
for (String name: names) {
System.out.println(name); // prints the names in turn.
}
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题:
String elem = (String)S.get(0);
Run Code Online (Sandbox Code Playgroud)
将返回数组中的第一项。
或者
for(int i=0 ; i<S.size() ; i++){
System.out.println(S.get(i));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
338249 次 |
| 最近记录: |