Set<String> s = new HashSet<String>(); s.add(null); s.add(null); s.add("a"); s.add("a"); s.add("a"); for(Iterator<String> i = s.iterator();i.hasNext();){ String a = (String)i.next(); System.out.println(a); }
String[] arrts = new String[]{"ad","dv","dvs","afd"}; 可以这样 String[] arrts = {"ad","dv","dvs","afd"};
List<String> ls = new ArrayList()<String>; ls.add("a"); ls.add("b"); ls.add("c");int i=0; while(i<ls.size()){ System.out.println(ls.get(i)); i++; }这也是循环
放着新For不用,用什么迭代器?????!!!!!
for (int i = 0 , len = arr.length ; i < len ; i++ ){ // to do ... } for (int i = 0 , size = collection.size(); i < len ; i++ ){ // to do ... }有更好的不
List<String> lists = new ArrayList<String>();
String[] arrts = new String[]{"ad","dv","dvs","afd"};
for(String s:arrts){
lists.add(s);
System.out.println("数组"+s);
}
for(String s:lists){
System.out.println("集合"+s);
}
for(int i =0; i< array.length;i++){
System.out.println(array[i]+"===");
}
集合的遍历还有Iterator迭代的方法。Iterator it = list.iterator();while (iterator.hasNext()) {
type elem = (type) iterator.next();
}
Iterator iterator = list.iterator();while (iterator.hasNext()) {
type elem = (type) iterator.next();
}
刚才上面的迭代器变量写错了。
import java.util.Iterator;
import java.util.TreeSet;public class Test {
public static void main(String[] args) {
int[] intArray = new int[] { 1, 2, 3, 4, 5 };
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i] + " ");
}
System.out.println(); String[] stringArray = new String[] { "aa", "bbb", "cccc", "d" };
for (String str : stringArray) {
System.out.print(str + " ");
}
System.out.println(); TreeSet<String> stringHashSet = new TreeSet<String>();
stringHashSet.add("x");
stringHashSet.add("y");
stringHashSet.add("z");
Iterator<String> iterator = stringHashSet.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next() + " ");
}
System.out.println();
}
}
实现了迭代器 才可以用for each啊
如:
List<User> userList=new ArrayList<User>();
for(User user : userList){
// 你的代码
}
s.add(null);
s.add(null);
s.add("a");
s.add("a");
s.add("a");
for(Iterator<String> i = s.iterator();i.hasNext();){
String a = (String)i.next();
System.out.println(a);
}
可以这样
String[] arrts = {"ad","dv","dvs","afd"};
ls.add("a");
ls.add("b");
ls.add("c");int i=0;
while(i<ls.size()){
System.out.println(ls.get(i));
i++;
}这也是循环
// to do ...
}
for (int i = 0 , size = collection.size(); i < len ; i++ ){
// to do ...
}有更好的不
//obj.name
//......
}
String[] aa={"da","wa","gga","xc"};
System.out.println(Arrays.toString(aa));
}
}
/* Output:
[da, wa, gga, xc]
*///:~
//数组:
for(int i=0; i<array.length; i++)
{}
//集合
List<Object> objList = new ArrayList<Object>();
for(Object obj:objList)
{
}
{
Console.WriteLine("Hello World!");
}
........
}
List<Object> objList = new ArrayList<Object>();
for(Object obj:objList)
{
}
这种写法执行效率最差,本质上和使用迭代是一样的。
2。
for(int x=0; x<list.size(); x++){
........
}
这种写法与将计算数组长度的代码放在外面,效率差别不大,并不存在重复计算数组或者列表长度的问题,只是在方法调用的时候可能存在开销。