集合的特点:
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)的更多相关文章

  1. java集合框架之java HashMap代码解析

     java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...

  2. java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类

    本文关键词: java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...

  3. Java Collection Framework : List

    摘要: List 是 Java Collection Framework的重要成员,详细包括List接口及其全部的实现类.由于List接口继承了Collection接口,所以List拥有Collect ...

  4. java collection framework

    java collection framework Map

  5. 【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版

    原文链接: https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html 原文内容也一并附加在本文最 ...

  6. -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器

    集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别?                 A:长度区别                  ...

  7. Java集合框架之接口Collection源码分析

    本文我们主要学习Java集合框架的根接口Collection,通过本文我们可以进一步了解Collection的属性及提供的方法.在介绍Collection接口之前我们不得不先学习一下Iterable, ...

  8. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  9. 设计: ListView 接口,and the missing read-only interfaces in java collection framework

    Java的集合框架以其成功易用的设计征服了很多人(包括我),并且教科书式的诠释了泛型的应用方式. 我也是被 Joshua Bloch 的书引领入门,从中得益良多.我当然不会认为自己在设计上比他懂得更多 ...

随机推荐

  1. JAVA内存管理

    java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙.墙外面的人想进去,墙里面的人想出去. 1.java内存分布 程序计数器 栈(局部变量.操作数.动态链接.方法出口) 每一个方法从调用 ...

  2. 面试复习(C++)之快速排序

    #include <iostream> using namespace std; void Quicksort(int *a,int low,int high) { if(low>h ...

  3. C#操作PPT表格

    1.激活组件 AxFramerControl改控件的dll自己再网上百度下下载这里不多讲 /// <summary>        /// 检测是否注册控件        /// < ...

  4. Unbalanced calls to begin/end appearance transitions for **

    在自定义UITabBarController中点击视图跳转的时候,有可能就出现这个问题, 解决方法就是在自定义的UITabBarController中的视图显示消失通知方法中添加如下方法: - (vo ...

  5. Android内存优化之 LruCache与DiskLruCache

    在日常的Adroid开发中我们经常遇到需要处理大量图片的地方,但Android手机的内存有限该怎么避免手机 内存溢出导致app程序oom,google提供了两种解决方式 LruCache LruCac ...

  6. EasyUI使用JSON保存数据

    目前来说,使用JSON保存数据比较方便,前台可以不用Test.aspx 页面,可以直接用Html页面,使用.aspx页面的弊端就不在这里熬述. 具体步骤如下: 1.新建一个Html页面,命名为Test ...

  7. java nio(non-blocking io)简介及和io

    在 Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生一个字节的数据,一个输出流消费一个字节 的数据,面向流的I/O速度非常慢,而在Java 1 ...

  8. iOS交互WebService(cxf框架)

    公司后台java用的cxf框架,说是iOS.Android.web客户端都可以通用,但是我还是第一次遇到,所以做的时候遇到了不小的坑.下面总结下我开发中遇到的问题以及解决方案: 首先,后台提供了一份接 ...

  9. Spring学习笔记(3)——Bean的注入方式

    依赖注入 依赖注入支持属性注入.构造函数注入.工厂注入. 属性注入: 属性注入即通过setXxx()方法注入Bean的属性值或依赖对象 属性注入要求Bean提供一个默认的构造函数(无参构造函数),并为 ...

  10. 2016 - 1 - 25 CSS初步 (二)

    1.The customising link We can change the link's style when we move our pointer on the link like that ...