增强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}
增强for循环、Map接口遍历、可变參数方法的更多相关文章
- c 语言函数可变參数的处理
/************************************************************************* > File Name: va_list.c ...
- OC可变參数的函数实现va_start、va_end、va_list的使用
一.简单介绍 我们常常在编程的时候看见类似这种代码,如图1.1 图1.1 或者是这种可变參数,如图1.2 图1.2 二.基本知识介绍 在学习怎样写这样的格式的函数前,先简介几个经常使用的宏: 下面摘自 ...
- java 可变參数列表
Java SE5加入了可变參数列表特性 參数能够这样定义.(Object-args).可变參数用"..."来定义,args是可变參数的数组.举个样例: package sample ...
- java课堂练习之可变參数与卫条件
/* 有人邀请A,B,C,D,E,F 6个人參加一项会议,这6个人有些奇怪.由于他们有非常多要求,已知: 1)A,B两人至少有1人參加会议: 2)A,E,F 3人中有2人參加会议. 3)B和C ...
- iOS 处理方法中的可变參数
## iOS 处理方法中的可变參数 近期写了一个自己定义的对话框的demo,想模仿系统的UIAlertView的实现方式.对处理可变參数的时候,遇到了小问题,于是谷歌了一下.写下了处理问题的方法.记录 ...
- Effective JavaScript Item 21 使用apply方法调用函数以传入可变參数列表
本系列作为Effective JavaScript的读书笔记. 以下是一个拥有可变參数列表的方法的典型样例: average(1, 2, 3); // 2 average(1); // 1 avera ...
- C语言利用va_list、va_start、va_end、va_arg宏定义可变參数的函数
在定义可变參数的函数之前,先来理解一下函数參数的传递原理: 1.函数參数是以栈这样的数据结构来存取的,在函数參数列表中,从右至左依次入栈. 2.參数的内存存放格式:參数的内存地址存放在内存的堆栈段中, ...
- java 可变參数
我们在某些特定的需求环境下,可能要对某一个方法中的參数进行一些操作,并且这些方法中的參数是不规定的,那么问题来了,我们该怎么办呢? java事实上就为我们考虑了这样的情况,那就是使用可变參数 可变參数 ...
- java之 ------ 可变參数和卫条件
可变參数:适用于參数个数不确定.类型确定的情况,java把可变參数当做数组处理. 可变參数必须位于最后一项.当可变參数个数多于一个时,必将有一个不是最后一项,所以仅仅支持有一个可变參数. 可变參数的书 ...
随机推荐
- Oracle 索引扫描的五种类型
之前在讨论CBO和RBO的时候提到了索引扫描的几种类型. Oracle Optimizer CBO RBO http://blog.csdn.net/tianlesoftware/archive/20 ...
- [BZOJ1002](FJOI 2007) 轮状病毒
[题目描述] 给定n(N<=100),编程计算有多少个不同的n轮状病毒. [输入格式] 第一行有1个正整数n. [输出格式] 将编程计算出的不同的n轮状病毒数输出 [样例输入] 3 [样例输出] ...
- 原生js实现图片轮播思路分析
一.复习原生js实现图片轮播 1.要点 自动轮播 点击小圆圈按钮,显示相应图片 点击左右箭头,实现向前向后轮播图片 2.实现思路 <div id="container"> ...
- CDOJ 1277 智商杯考试 每周一题 div2 二分+数学
智商杯考试 题目连接: http://acm.uestc.edu.cn/#/problem/show/1277 Description 你是一个挂科选手. 你现在正在考试,你很方. 你参加的考试叫做智 ...
- iOS 带箭头菜单选项弹窗LFPopupMenu
一.效果图 由于是模拟器缩得比较小,一些细线可能显示不出来,不是bug哈. 二.用法 LFPopupMenuItem *item1 = [LFPopupMenuItem createWithTitle ...
- 明尼苏达推荐系统导论(第一课 欢迎来到RS)
一.RS介绍 1.显示评分:直接从用户来 隐式评分:从用户活动推测得到的 2.预测是偏好的估计,是预测缺失值,推荐是从其他用户推荐项目,是推荐感兴趣的项目. 3.协同表示利用其它用户的数据 二.欢迎来 ...
- centOS 7设置静态IP,使用Xshell远程连接
背景 在正式生产环境中,通常需要使用Xshell等终端软件,通过固定IP地址远程连接生产服务器进行管理,所以需要给生产服务器分配一个静态的IP地址,以方便本地计算机远程连接. 目的 本文目的在于模仿生 ...
- 利用json2html将json数据填充到html模板
1.下载json2html>> 2.制作好模板.准备好json数据.启动 <!DOCTYPE html> <html> <head> <meta ...
- 解决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 ...
- Linux系统下,启动Tomcat有时报Address already in use
一.Linux系统下,启动Tomcat有时报Address already in use<null>... 1.那是因为你的tomcat已经启动了tomcat自带的关闭脚本,有时候关闭看上 ...