遍历集合
Intrator
- 迭代器用于遍历集合元素。获取迭代器可以使用Collection定义的方法 -----Iterator Iterator()
- 迭代器Iterator是一个接口,集合在重写Collection的Iterator()方法时利用内部类提供了迭代器的实现
- Iterator提供了统一的遍历集合元素的方式,其提供了用于遍历集合的两个方法
——boolean haasNext():判断集合是否还有元素可以遍历
——E next():返回迭代的下一个元素
package day04;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo3 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("one");
c.add("#");
c.add("two");
c.add("#");
c.add("three");
c.add("#");
c.add("four");
Iterator it = c.iterator();
while(it.hasNext()) {
String str = (String) it.next();
if ("#".equals(str)) {
it.remove();
}
System.out.println(str);
}
System.out.println(c);
}
}
for each循环
package day04;
public class NewForDemo1 {
public static void main(String[] args) {
String[] array = {"one","two","three","four"};
for (int i = 0; i < array.length; i++) {
String string = array[i];
System.out.println(string);
}
for(String str:array) {
System.out.println(str);
}
}
}
package day04;
import java.util.ArrayList;
import java.util.Collection;
public class NewForDemo2 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("one");
c.add("two");
c.add("three");
c.add("four");
System.out.println(c);
for(Object o:c) {
String str = (String)o;
System.out.println(str);
if ("#".equals(str)) {
c.remove(str);
}
}
}
}
泛型机制
package day04;
public class Point<X,Y> {
private X x;
private Y y;
public String toString(){
return "x="+x+",y="+y;
}
public Point(X x, Y y) {
super();
this.x = x;
this.y = y;
}
public X getX() {
return x;
}
public void setX(X x) {
this.x = x;
}
public Y getY() {
return y;
}
public void setY(Y y) {
this.y = y;
}
}
package day04;
public class TestPoint {
public static void main(String[] args) {
Point<Integer,Double> p
= new Point<Integer,Double>(1,2.2);
p.setX(1);
int x = p.getX();
Point p2 = p;
p2.setX("1");
int x2 = p.getX();
}
}
package day04;
public class TestPoint2 {
public static void main(String[] args) {
Point<Integer,Integer> p1 = new Point<Integer,Integer>(1,2);
p1.setX(1);
int x1 = p1.getX();
Point p2 = p1;
p2.setX("一");
String x2= (String)p2.getX();
System.out.println("x2=: "+x2);
x1 = p1.getX();
System.out.println("x1: "+x1);
}
}
package day04;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo4 {
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("one");
c.add("two");
c.add("three");
for(String str : c) {
System.out.println(str);
}
Iterator<String> it = c.iterator();
while(it.hasNext()) {
String str = it.next();
System.out.println(str);
}
Collection c2 = c;
c2.add(1);
c2.add(2);
System.out.println(c2.size());
for(String str : c){
System.out.println(str);
}
}
}