关闭

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

537人阅读 评论(0) 收藏 举报
分类:

/**
* @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
*/

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:126761次
    • 积分:1934
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:30篇
    • 译文:0篇
    • 评论:19条
    最新评论