集合框架(JCF/Java Collection Framework)
集合的特点:
1、数据的类型可以不同
2、集合长度可变
3、空间不固定
集合也是对象,用于检索,存储以及传输对象
集合框架的组成
Collection接口和Map接口
Collection是Set接口和List接口的父接口
List与Set的区别
List允许数据的重复Set不允许数据重复
泛型:指的是对存储数据集合的一种约束(在定义类、接口时指定数据类型的形式参数)<数据类型>
泛型和迭代器的例子:
package com.wode.test;
import java.util.Iterator;
import java.util.LinkedList;
import com.sun.org.apache.bcel.internal.generic.POP;
public class Test1 {
public static void main(String[] args) {
LinkedList<String> linkedList = new LinkedList<String>();//<> 泛型
linkedList.add("zhangsan");
linkedList.add("lisi");
Iterator<String> iterator = linkedList.iterator();// 迭代器
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
对元素的遍历
foreach循环和迭代器Iterator
foreach
以输出学生对象为例:
for (Student stu1 : list) {
System.out.println(stu1);
}
迭代器Iterator
Iterator<泛型> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next()):
}
}
List接口: 一列数据内容,内容可重复,不排序/有序的(怎么样进去,怎么样出来)
ArrayList实现类(顺序存储) LinkedList实现类(双向链表存储)
ArrayList类的常用方法 LinkedList类的常用方法
add()插入一个元素到列尾 add()插入一个元素到列尾
size()查看数列长度 size()查看数列长度
get()获取一个元素 get()获取一个元素
set()修改元素 set()修改元素
remove()删除一个元素 remove()删除一个元素
toArray()将数列转化为数组 toArray()将数列转化为数组
clear()清空数列 clear()清空数列
addfrist()插入元素至列头
addlast()插入元素至列尾
removefrist()删除第一个元素
removelast()删除最后一个元素
pop()弹出第一个元素、等价于removefrist()
List接口的vetcor实现类:vrtcor和Arraylist相似,它线程安全,但是性能比较低,一般不用
ArrayList和LinkedList的适用
ArrayLis在对数据频繁的增加和删除时不适用,最适合进行查询,修改操作
LinkedList在对数据频繁的增加和删除时适用
set接口 : 一列数据内容,内容不可重复,按照内部机制进行排序/无序的(按照哈希值排序)
HashSet类和TreeSet 常用方法与ArrayLis相似
区别
HashSet不排序(对元素进行排序),运行速度快
TreeSet排序(严格按照字母排序),运行速度慢
Map接口(键值对/ key value)通过key键找valu值
HashMap和TreeMap类常用方法与ArrayLis相似
区别
HashMap不排序(对元素进行排序),运行速度快
TreeMap排序(严格按照字母排序),运行速度慢
集合框架(JCF/Java Collection Framework)的更多相关文章
- java集合框架之java HashMap代码解析
java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- Java Collection Framework : List
摘要: List 是 Java Collection Framework的重要成员,详细包括List接口及其全部的实现类.由于List接口继承了Collection接口,所以List拥有Collect ...
- java collection framework
java collection framework Map
- 【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版
原文链接: https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html 原文内容也一并附加在本文最 ...
- -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器
集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别? A:长度区别 ...
- Java集合框架之接口Collection源码分析
本文我们主要学习Java集合框架的根接口Collection,通过本文我们可以进一步了解Collection的属性及提供的方法.在介绍Collection接口之前我们不得不先学习一下Iterable, ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- 设计: ListView 接口,and the missing read-only interfaces in java collection framework
Java的集合框架以其成功易用的设计征服了很多人(包括我),并且教科书式的诠释了泛型的应用方式. 我也是被 Joshua Bloch 的书引领入门,从中得益良多.我当然不会认为自己在设计上比他懂得更多 ...
随机推荐
- SQL基础&笔试题
仅以此篇博客纪念让我羞愧的一次笔试,作为对数据库基础的恶补. 一.SQL的基本概念: SQL是集数据定义语言DDL,数据操纵语言DML,数据控制语言DCL的功能于一体,可以独立完成数据库生命周期的全部 ...
- html 学习(一)
一.用CSS实现如下布局,使用三个div 代码实现如下: 说明: 1.margin-left:110px; _margin-left:107px; margin-left:110px; 所有浏览器都要 ...
- 常见Xcode参数设置错误
错误1 dyld: Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport Referenced fr ...
- .Net Log4Net配置多文件日志记录
其他配置详情在网上都可以找到,但是很多看着都晕,本人就记录一下如何使用: 1.按不同级别(官方说明)可记录的日志级别有: Info.Warn.Error.Debug 2.可以按着四个配置四个输出日志路 ...
- 使用strace 工具跟踪系统调用和信号
使用strace来执行程序,它会记录程序执行过程中调用,接收到的信号,通过查看记录结果,就可以知道程序打开哪些文件,进行哪些读写,映射哪些内存,向系统申请多少内存等信息 strace 移植 下载str ...
- oracle 用户创建这个挺靠谱
CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf ...
- Linux 终端常用快捷键
Tab 自动补全 Ctrl+L 清屏 Ctrl+A 移动到头 Ctrl+E 移动到尾 Ctrl+左键头 左移一个单词 Ctrl+右箭头 右移一个单词 Ctrl+U 删除左边所有字符 Ctrl+K 删除 ...
- linux 下C语言学习路线
UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...
- 调用javaAPI访问hive
jdbc远程连接hiveserver2 2016-04-26 15:59 本站整理 浏览(425) 在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用Hi ...
- 好文mark
用oracle的dblink连接mysql. http://f.dataguru.cn/thread-267150-1-1.html hadoop的机架感知: 本地化策略,以及备份都要知道哪个节点在哪 ...