增强for循环、Map接口遍历、可变參数方法 可变參数

增强for循环、Map接口遍历、可变參数方法
可变參数

增强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}