Java 编程思想(第4版)学习笔记(ArrayList 泛型 foreach 第11章练习1 hop())

来源:互联网 发布:js弹窗效果图带代码 编辑:程序博客网 时间:2024/05/22 15:16

/**
* @author lzcysd
*
*/

import java.util.*;
class Apple{

private static long counter;
private final long id = counter++;

public long id(){return id;}
}
class Orange{}
public class ArrayListTest {


/**
* @param args
*/

public static void main(String[] args) {

   ArrayList <Apple> apples = new ArrayList <Apple>();
   for(int i = 0; i < 3; i++){
    apples.add(new Apple());
   }
   //apples.add(new Orange()); 编译期间报错,只能插入Apple类型的数据
   for(int i = 0; i < apples.size();i++)
    System.out.println(apples.get(i).id());
  for(Apple c : apples) //foreach语句 java SE5新增
    System.out.println(c.id());
}
}
/*运行结果
* 0
* 1
* 2
* 0
* 1
* 2
*/
下面说下foreach语句的用法

主要用于数组和容器(自动增量)

如上例,apples是被用于的数组名或容器名,c,没循环一次,c被赋一次值

  
public static void main(String[] args) {
   for(char c:"An New Method".toCharArray())
    System.out.print(c+" ");
   /*运行结果
   * A n   N e w   M e t h o d 
   */

   for(int i:range(5,20,3)) //5..20 step 3 找不到net.mindview.util.Range.* 错误
    print(i + " "); //
}

----------------------------------------------------------------------------------------------------------------------------

import java.util.ArrayList;

/**
* 创建一个新类Gerbil(沙鼠),包含int gerbilNumber,
* 在构造器中初始化它。添加一个方法hop(),用以打印沙鼠的号码以及他
* 正在跳跃的信息。创建一个ArrayList,并向其中添加一串Gerbil对象。
* 使用get()遍历List,并且对每个Gerbil调用hop()
*/

/**
* @author lzcysd
*
*/

public class Gerbil {

private static int counter; 
private int gerbilNumber;
private String hopInfo; //跳跃的信息

public Gerbil(){
   this("");
}

public Gerbil(String hI){
  
   gerbilNumber = ++counter;
   hopInfo = hI;  
}

public void hop(){
   System.out.println("沙鼠的号码为:" + gerbilNumber + "跳跃的信息为:" + hopInfo);
}

/**
* @param args
*/

public static void main(String[] args) {

   ArrayList <Gerbil> gerbils = new ArrayList<Gerbil>();
   gerbils.add(new Gerbil("25"));
   gerbils.add(new Gerbil("26"));
   gerbils.add(new Gerbil("24"));
   gerbils.add(new Gerbil("25"));

//使用Iterator遍历List
   Iterator<Gerbil> it = gerbils.iterator();
   while(it.hasNext())
    it.next().hop();
   /*for(int i = 0; i < gerbils.size(); i++){
    gerbils.get(i).hop();
   } 
    
   /*
     for(Gerbil g : gerbils){ //foreach语法;注意for不能写成foreach
    g.hop();
   }
   */

}
}
/*
* 沙鼠的号码为:1跳跃的信息为:25
* 沙鼠的号码为:2跳跃的信息为:26
* 沙鼠的号码为:3跳跃的信息为:24
* 沙鼠的号码为:4跳跃的信息为:25
*/

原创粉丝点击