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)这些类(数据结构)用来存储和操作对象组.虽然这些 ...
随机推荐
- 点滴积累【JS】---JS小功能(button选择颜色)
效果: 代码: <head runat="server"> <title></title> <style type="text/ ...
- Spark缓存机制
虽然默认情况下 RDD 的内容是临时的,但 Spark 提供了在 RDD 中持久化数据的机制.第一次调用动作并计算出 RDD 内容后,RDD 的内容可以存储在集群的内存或磁盘上.这样下一次需要调用依赖 ...
- 如何启动mininet实例上的wireshark图形界面
启动wireshark 要启动mininet实例上的wireshark的图形界面,其实关键点只有两个: 保证宿主机上安装了X11 使用ssh -Y mininet@192.168.56.102 登录进 ...
- MVC页面跳转,路径重复的问题
window.location.replace("../Home/xxx") 这是js路径跳转的示范,如果普通超链接也一样 前面加一个../
- 分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)
一.问题描述 问题: 使用<pg:param name="key" />标签传递中文参数时,会有乱码. 原因: 因为它默认是用gb2312来对添加的参数进行编码,如果你 ...
- matplotlib之设置极坐标的方向
#!/usr/bin/env python3 #-*- coding:utf-8 -*- ############################ #File Name: polar.py #Auth ...
- python学习之运算表达式优先级
python中,有变量.值和运算符参与的语句叫做表达式. 比如: #字符串表达式 "hello" #运算表达式 + #赋值表达式 test = "hello" ...
- neo4j使用笔记
#coding:utf- __author__ = 'similarface' # 安装驱动:pip install neo4j-driver from neo4j.v1 import GraphDa ...
- Tomcat下配置多个Project的虚拟主机
server.xml中,添加<Context path="/project2" docBase="D:\MyProjects\project2\WebContent ...
- The Definitive Guide To Django 2 学习笔记(一) Views and UrL confsRL
1.如何找到django在Ubuntu下的安装路径: 进入python命令行,import django,print(django.__path__) 2.使用django-admin.py 创建项目 ...