Java 集合框架之 JDK 1.5 新特性
forEach 循环
- 多用于元素迭代.
- 适用范围:
- 数组
- 实现 Iterable 接口的集合类 - 格式:
for(类型 变量 : Collection 集合 | 数组)
{
}
- 传统 for 和 高级 for 的区别:
- 传统 for 可以完成对语句执行很多次, 因为可以控制循环的增量和条件
高级 for 是一种简化形式, 它必须有被遍历的目标, 该目标要么是数组, 要么是 Collection 单列集合 - 对于数组的遍历, 如果仅仅是获取数组中的元素, 可以使用 高级 for;
如果要对数组的角标进行操作, 建议使用传统 for
- 传统 for 可以完成对语句执行很多次, 因为可以控制循环的增量和条件
// 示例:
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("abc2");
list.add("abc3");
// 高级 for
for(String str : list){
System.out.println(str);
}
// 遍历 map 集合
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(3,"zhangsan");
map.put(14,"xiaoqiang");
map.put(22,"wangcai");
map.put(11,"abc");
for(Integer key : map.keySet()){
String value = map.get(key);
System.out.println(key+":"+value);
}
for(Map.Entry<Integer,String> me : map.entrySet()){
Integer key = me.getKey();
String value = me.getValue();
System.out.println(key+"...."+value);
}
函数可变参数
- 可变参数其实就是一个数组,但是接收的是数组的元素,自动将这些元素封装成数组,
简化了调用者的书写. - 注意: 可变参数类型, 必须定义在参数列表的结尾.
// 求多个数的和
public static void main(String[] args){
// 求两个数的和
int sum = add(4, 5);
System.out.println("sum= "+sum);
// 求三个数的和
int sum = add(2,5,7);
System.out.println("sum="+sum);
}
public static int add(int a, int b){
return a+b;
}
public static int add(int a, int b, int c){
return a+b+c;
}
// 升级, 可变参数原理:
public static int add(int[] arr){
int sum = 0;
for(int i = 0; i<arr.length; i++){
sum += arr[i];
}
return sum;
}
public static int add(int... arr){ // 可变参数
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
return sum;
}
静态导入
- 导入类中的静态成员, 例如:
import static java.util.Collections.sort
参考资料 - JavaSE 基础视频(毕向东)
- JDK 1.6 中文文档
Java 集合框架之 JDK 1.5 新特性的更多相关文章
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- Java集合框架——jdk 1.8 ArrayList 源码解析
前言:作为菜鸟,需要经常回头巩固一下基础知识,今天看看 jdk 1.8 的源码,这里记录 ArrayList 的实现. 一.简介 ArrayList 是有序的集合: 底层采用数组实现对数据的增删查改: ...
- java集合框架之java HashMap代码解析
java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...
- [转]Java - 集合框架完全解析
数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵 ...
- java 集合框架(二)Iterable接口
Iterable接口是java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素,我们可以看下它的成员方法 修饰符和返回值 方法名 描述 Iterator<T> iter ...
- java 集合框架(一)概述
一.概述 Java Collection Framework (JCF) 提供给我们一系列的类和接口,方便开发者处理集合对象. 在Java 2之前,Java是没有完整的集合框架的.它只有一些简单的可以 ...
- 【java集合框架源码剖析系列】java源码剖析之HashMap
前言:之所以打算写java集合框架源码剖析系列博客是因为自己反思了一下阿里内推一面的失败(估计没过,因为写此博客已距阿里巴巴一面一个星期),当时面试完之后感觉自己回答的挺好的,而且据面试官最后说的这几 ...
- Java集合框架体系JCF
Java 集合框架体系作为Java 中十分重要的一环, 在我们的日常开发中扮演者十分重要的角色, 那么什么是Java集合框架体系呢? 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一 ...
- Java 集合框架(常用数据结构)
早在Java 2中之前,Java就提供了特设类.比如:向量(Vector).栈(Stack).字典(Dictionary).哈希表(Hashtable)这些类(数据结构)用来存储和操作对象组.虽然这些 ...
随机推荐
- vim跳出括号的方法
https://github.com/Raimondi/delimitMate delimitMate是一个自动括号补全的好插件,但是,如果没有一个好的跳出括号办法,好想由打了折扣. 我目前找到最适合 ...
- Atitit. 。Jna技术与 解决 java.lang.Error: Invalid memory access
Atitit. .Jna技术与 解决 java.lang.Error: Invalid memory access 1. 原因与解决1 2. jNA (这个ms sun 的)1 3. Code1 4. ...
- NEFU 117-素数个数的位数(素数定理)
题目地址:NEFU 117 题意:给你一个整数N(N<1e9).假设小于10^N的整数中素数的个数为π(N).求π(N)的位数是多少. 思路:题目的数据量非常大,直接求肯定TLE,所以考虑素数定 ...
- [Delphi] 常用字符集简介
转载 http://www.cnblogs.com/yangyxd/articles/4778483.html 字符集 ANSI (ASCII)美国信息互换标准编码 GB 2312信息交换用汉字编码字 ...
- linux内核开机logo显示调试
要使内核支持开机logo显示需要配置内核 配置如下: make menuconfig: Device Drivers ---> Graphics support ---> ...
- linux下安装python的第三方module
1.首先需要有python环境 2.安装pip软件:下载地址,https://pypi.python.org/pypi/pip/6.0.8 解压pip的压缩包:sudo tar -zxvf pip-6 ...
- 从客户端检测到有潜在危险的Request.Form 值”错误提示
http://www.cnblogs.com/UouHt/archive/2008/10/30/1322697.html asp.net开发中,经常遇到“从客户端检测到有潜在危险的Request.Fo ...
- 【BZOJ】3432: [Usaco2014 Jan]Cross Country Skiing (bfs+二分)
http://www.lydsy.com/JudgeOnline/problem.php?id=3432 题目说要相互可达,但是只需要从某个点做bfs然后判断其它点是否可达即可. 原因太简单了.... ...
- 【BZOJ】3479: [Usaco2014 Mar]Watering the Fields(kruskal)
http://www.lydsy.com/JudgeOnline/problem.php?id=3479 这个还用说吗.... #include <cstdio> #include < ...
- (转)memcache、redis缓存
memcache原理.内存模型: http://www.csdn.net/article/2016-03-16/2826609 redis原理: http://baike.baidu.com/link ...