增强for循环
1.for循环能做得事情。增强for循环大部分都能做(假设要想获得下标的时候就必须使用简单for循环了)
2.增强for有时候可以方便的处理集合遍历的问题,可是集合的标准遍历是使用迭代器
3.在集合框架中体现出了它的强大之处
Map接口遍历
Map接口的遍历:
1.第一种方法 使用map.values()方法。先把value的值都放在一个Collection集合中。
2.另外一种方法 使用map.entrySet()方法(推荐使用)
3.第三种方法 使用map.keySet()方法
事实上对于Map接口进行遍历操作是非常少的,通常对其都是进行查询操作。
遍历Map接口中的value的三种方法代码操作
System.out.println("=========第一种方法========");
// 怎样迭代map内容
// 第一种方法 使用map.values()方法,先把value的值都放在一个Collection集合中。
Collection<Person> collections = map.values();
for (Person person : collections) {
System.out.println(person);
}
// 另外一种方法 使用map.entrySet()方法(最为推荐的方法)
System.out.println("=========另外一种方法========");
// Set<Entry<String, Person>> set=map.entrySet();
for (Entry<String, Person> entry : map.entrySet()) {
System.out.println(entry.getValue());
}
System.out.println("=========第三种方法========");
// 第三种方法 使用map.keySet()方法
//Set<String> keySet=map.keySet();
for (String key : map.keySet()) {
System.out.println(key);
System.out.println(map.get(key));
}
可变參数
可变參数(比較简单可是比較有用的小技巧)
可变參数的出现方便了程序的开发
Object...args
String...args
格式为:(数据类型。
。。參数名(能够任意取得))
增强for循环的有一个缺点:失去了下标索引的信息。
自己主动装箱和自己主动拆箱(是针对8个原生数据类型和相应的封装类型)
自己主动装箱:int >>Integer
自己主动拆箱:Integer>>int
<T> 泛型中的T不要使用原生数据类型来定义
可变參数。还是挺实用的一个小功能 type...args,可变參数一定要定义才參数列表中最后一个位置。事实上側面也反应了一个问题:一个方法中最多仅仅能有一个可变參数。
事实上可变參数本质是一个数组
比如:Object...args 实际參数能够这么写:new Object[]{x,y,z}