增强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. Oracle 索引扫描的五种类型

    之前在讨论CBO和RBO的时候提到了索引扫描的几种类型. Oracle Optimizer CBO RBO http://blog.csdn.net/tianlesoftware/archive/20 ...

  2. [BZOJ1002](FJOI 2007) 轮状病毒

    [题目描述] 给定n(N<=100),编程计算有多少个不同的n轮状病毒. [输入格式] 第一行有1个正整数n. [输出格式] 将编程计算出的不同的n轮状病毒数输出 [样例输入] 3 [样例输出] ...

  3. 原生js实现图片轮播思路分析

    一.复习原生js实现图片轮播 1.要点 自动轮播 点击小圆圈按钮,显示相应图片 点击左右箭头,实现向前向后轮播图片 2.实现思路 <div id="container"> ...

  4. CDOJ 1277 智商杯考试 每周一题 div2 二分+数学

    智商杯考试 题目连接: http://acm.uestc.edu.cn/#/problem/show/1277 Description 你是一个挂科选手. 你现在正在考试,你很方. 你参加的考试叫做智 ...

  5. iOS 带箭头菜单选项弹窗LFPopupMenu

    一.效果图 由于是模拟器缩得比较小,一些细线可能显示不出来,不是bug哈. 二.用法 LFPopupMenuItem *item1 = [LFPopupMenuItem createWithTitle ...

  6. 明尼苏达推荐系统导论(第一课 欢迎来到RS)

    一.RS介绍 1.显示评分:直接从用户来 隐式评分:从用户活动推测得到的 2.预测是偏好的估计,是预测缺失值,推荐是从其他用户推荐项目,是推荐感兴趣的项目. 3.协同表示利用其它用户的数据 二.欢迎来 ...

  7. centOS 7设置静态IP,使用Xshell远程连接

    背景 在正式生产环境中,通常需要使用Xshell等终端软件,通过固定IP地址远程连接生产服务器进行管理,所以需要给生产服务器分配一个静态的IP地址,以方便本地计算机远程连接. 目的 本文目的在于模仿生 ...

  8. 利用json2html将json数据填充到html模板

    1.下载json2html>> 2.制作好模板.准备好json数据.启动 <!DOCTYPE html> <html> <head> <meta ...

  9. 解决kylin报错 ClassCastException org.apache.hadoop.hive.ql.exec.ConditionalTask cannot be cast to org.apache.hadoop.hive.ql.exec.mr.MapRedTask

    方法:去掉参数SET hive.auto.convert.join=true; 从配置文件$KYLIN_HOME/conf/kylin_hive_conf.xml删掉 或 kylin-gui的cube ...

  10. Linux系统下,启动Tomcat有时报Address already in use

    一.Linux系统下,启动Tomcat有时报Address already in use<null>... 1.那是因为你的tomcat已经启动了tomcat自带的关闭脚本,有时候关闭看上 ...