看JAVA学习笔记遇到的问题
import java.util.*;
public class TreeMapDemo
{
public static void main(String[] args)
{
Map map = new TreeMap();
map.put( "justin ", "justin的信息 ");
map.put( "momor ", "momor的信息 ");
map.put( "jarry ", "jarry的信息 ");
for (Object name : map.values())
{
System.out.println(name);
}
}
}
for (Object name : map.values())这行有点不太明白
请高手指教
------解决方案--------------------for (Object name : map.values())
{
System.out.println(name);
}
foreach(object name in map.values())在c#到见过,java里没见过这么用for的
是不是伪代码?
------解决方案--------------------这是JAVA1.5 增强的for 循环
增强的for 循环(enhanced for loop)
所谓“增强的for 循环”,主要也是针对容器的。使用该项特性时,开发者可以将“利用iterator
遍历容器”的逻辑交给编译器来处理。例如下列代码:
void cancelAll(Collection c) {
for (Iterator i = c.iterator(); i.hasNext(); ) {
TimerTask tt = (TimerTask) i.next();
tt.cancel();
}
}
可以用增强的for 循环改写为:
void cancelAll(Collection c) {
for (Object o : c)
((TimerTask)o).close();
}
编译器判断对象c 是一个Collection 子对象(即是容器)之后,就会允许使用增强的for 循环
形式,并自动取到c 的迭代器,自动遍历c 中的每个元素。
可以看到,上面的代码中仍然有一个强制类型转换(((TimerTask)o).close();)。实际上,这
项特性应该普遍地与泛型结合,以获得最大的利益。结合泛型之后,上述代码变成:
void cancelAll(Collection <TimerTask> c) {
for (TimerTask task : c)
task.cancel();
}
------解决方案--------------------再给你举个例:
int i[]={0,1,2,5,7,11};
for(int j:i) System.out.println(j+ " ");
意思为输入j,而j取i[]中的所有值,所以输出了0 1 2 5 7 11
------解决方案--------------------不是伪代码!这是5.0以后新增的一个foreach方法也叫增强的for循环!
public static void read(int[] i){
for(int j : i){ //这是5.0以后新增加的foreach方法!跟下面的方法作用一样!
System.out.println(i);
}
for(int j ; j> i.length() ; j++) //这是1.4以前我们读取数组中每一个元素的方法!
{
System.out.println(i[j]);
}
}
我现在是在网吧没有eclipse所以格式和方法名也许有写的不是很准确的地方还请你见谅!如果想更多的了解的话可以去翻一下在线的String 和 Arrays的API文档!
------解决方案--------------------jdk1.5的新内容!!
------解决方案--------------------hibernate里到处都是
------解决方案--------------------学习了,顶一下