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




增强for循环、Map接口遍历、可变參数方法的更多相关文章

  1. c 语言函数可变參数的处理

    /************************************************************************* > File Name: va_list.c ...

  2. OC可变參数的函数实现va_start、va_end、va_list的使用

    一.简单介绍 我们常常在编程的时候看见类似这种代码,如图1.1 图1.1 或者是这种可变參数,如图1.2 图1.2 二.基本知识介绍 在学习怎样写这样的格式的函数前,先简介几个经常使用的宏: 下面摘自 ...

  3. java 可变參数列表

    Java SE5加入了可变參数列表特性 參数能够这样定义.(Object-args).可变參数用"..."来定义,args是可变參数的数组.举个样例: package sample ...

  4. java课堂练习之可变參数与卫条件

    /*  有人邀请A,B,C,D,E,F 6个人參加一项会议,这6个人有些奇怪.由于他们有非常多要求,已知:  1)A,B两人至少有1人參加会议:  2)A,E,F 3人中有2人參加会议.  3)B和C ...

  5. iOS 处理方法中的可变參数

    ## iOS 处理方法中的可变參数 近期写了一个自己定义的对话框的demo,想模仿系统的UIAlertView的实现方式.对处理可变參数的时候,遇到了小问题,于是谷歌了一下.写下了处理问题的方法.记录 ...

  6. Effective JavaScript Item 21 使用apply方法调用函数以传入可变參数列表

    本系列作为Effective JavaScript的读书笔记. 以下是一个拥有可变參数列表的方法的典型样例: average(1, 2, 3); // 2 average(1); // 1 avera ...

  7. C语言利用va_list、va_start、va_end、va_arg宏定义可变參数的函数

    在定义可变參数的函数之前,先来理解一下函数參数的传递原理: 1.函数參数是以栈这样的数据结构来存取的,在函数參数列表中,从右至左依次入栈. 2.參数的内存存放格式:參数的内存地址存放在内存的堆栈段中, ...

  8. java 可变參数

    我们在某些特定的需求环境下,可能要对某一个方法中的參数进行一些操作,并且这些方法中的參数是不规定的,那么问题来了,我们该怎么办呢? java事实上就为我们考虑了这样的情况,那就是使用可变參数 可变參数 ...

  9. java之 ------ 可变參数和卫条件

    可变參数:适用于參数个数不确定.类型确定的情况,java把可变參数当做数组处理. 可变參数必须位于最后一项.当可变參数个数多于一个时,必将有一个不是最后一项,所以仅仅支持有一个可变參数. 可变參数的书 ...

随机推荐

  1. 【Go】语法基础之结构体

    结构体的定义很简单: type Vertex struct { X, Y float64 } 可以理解为多个变量的集合. 结构体的使用: 1.直接使用: v := Vertex{1, 2} 或 var ...

  2. [UOJ347]通道

    锟题x1 以下用$d_k(x,y)$表示$x,y$在第树$k$上的距离,$h_k(x)$表示$x$在树$k$上的深度 先做两棵树,即最大化$d_1(x,y)+d_2(x,y)=h_1(x)+h_1(y ...

  3. 【动态规划】【滚动数组】【搜索】Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) D. Field expansion

    显然将扩张按从大到小排序之后,只有不超过前34个有效. d[i][j]表示使用前i个扩张,当length为j时,所能得到的最大的width是多少. 然后用二重循环更新即可, d[i][j*A[i]]= ...

  4. 【期望DP+高斯消元】BZOJ3270-博物馆

    [题目大意] 有m条走廊连接的n间房间,并且满足可以从任何一间房间到任何一间别的房间.两个男孩现在分别处在a,b两个房间,每一分钟有Pi 的概率在这分钟内不去其他地方(即呆在房间不动),有1-Pi 的 ...

  5. 【深搜+set使用学习】POJ3050-Hopscotch

    [题目大意] 给出一个5*5的方格,求出从任意一点出发走6步组成的不同序列数. [思路] dfs的水题,当作set使用方法的初次学习.每次从任意一点出发进行一次dfs,将序列加入set,最后输出set ...

  6. Java并发(四):happens-before

    happens-before 一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系 happen-before原则是JMM中非常重要的原则,它是判断数据是 ...

  7. Problem C: 矩阵对角线求和

    #include<stdio.h> int main() { ][]; scanf("%d",&n); ,sum2=; ;i<n;i++) ;j<n ...

  8. 异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项

    常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项 看到这个异常,我估计谁都会头大一阵子,不过还好,由于前面知道要设置为x86,加上以前观察过I ...

  9. Maven项目管理:SpringMVC+Mybatis+Velocity整合笔记

    Maven创建项目 略…具体过程可参考用Maven创建第一个web项目 配置Spring MVC 导入Spring MVC 需要的包在pom.xml 文件下加入: 123456789101112 &l ...

  10. jQuery中resetForm与clearForm的区别?

    reset是重置成最初状态,最初状态是可能有默认值的clear是清空form控件的值