1.Foreach与迭代器:foreach语法可以用于任何Collection对象。
public static void main(String[] args) {
Collection<String> c = new LinkedList<>();
c.add("春天");
c.add("夏天");
c.add("秋天");
c.add("冬天");
for (String s : c) {
System.out.println(s);
}
}
Java SE5引入了新的Iterator的接口,该接口可以被foreach用来在序列中移动。
public static void main(String[] args) {
for (String str : new Test()) {
System.out.print(str + " ");
}
}
public static class Test implements Iterable<String> {
String[] s = ("Try to make money" + "Live Your Life.").split(" ");
@Override
public Iterator<String> iterator() {
return new Iterator<String>() {
private int index = 0;
@Override
public boolean hasNext() {
return index < s.length;
}
@Override
public String next() {
return s[index++];
}
};
}
}
2.Java提供了大量持有对象的方式:①数组将数字与对象联系起来,保存了类型明确的对象,查询对象是不需要对结果做类型转换。数组一旦创建,就不能改变。②Collection保存单一的元素,Map保存的是键值对。Java泛型指定容器中存放的对象类型,从而就不需要类型转换。③ArrayList:随机访问快,插入删除慢。LinkedList:插入修改方便,随机访问慢 。④Set不保存重复的元素。HashSet查询速度快。TreeSet中的元素是排序好的。⑤Map把键对象和值对象映射的集合中。快速访问使用HashMap。TreeMap的“键”始终处于排序状态。
本文介绍了Java中的Foreach循环与迭代器的使用,展示了如何遍历Collection对象和自定义迭代器。同时,讨论了Java中不同类型的集合如ArrayList和LinkedList的特点,以及Set接口中的HashSet和TreeSet。此外,还提及了Map接口及其实现如HashMap和TreeMap在快速访问和排序上的差异。
295

被折叠的 条评论
为什么被折叠?



