集合的特点:
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. iOS权限问题

    判断相机权限: NSString *mediaType = AVMediaTypeVideo; AVAuthorizationStatus authStatus = [AVCaptureDevice ...

  2. 【初级】linux pwd 命令详解及使用方法实战

    pwd:查看当前工作目录 前言: Linux中用 pwd 命令来查看”当前工作目录“的完整路径,就是经常提及的所在目录,多用在生产环境多级目录中查看当前所在路径,使用此命令能给运维人员/操作人员带来很 ...

  3. vultr vps服务器存在的7个优势及选择原因

    原本准备在第一篇文章的时候完整的新注册账户的,但是考虑到对于这款VPS主机的了解,还是先整理这篇关于网络上和我自己在使用vultr vps主机产品的时候可能自认为的优势之处,这样可以加强很多新用户对于 ...

  4. ubuntu关于apache服务命令

    一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 start 二. ...

  5. win7 安装JDK7和JDK8后,卸载JDK8后出错

    这是本人学习Java过程中遇到的一些问题和解决方法,在此记录,方便本人查看,解决他人疑惑. 本人win7 x64旗舰版,同时安装了JDK7和JDK8,卸载了JDK8之后,cmd命令行输入:java - ...

  6. mysql 查询优化

    不说话,先贴代码 public PageResult<BoTmcRaw> getLargeList(BaseCondition baseCondition) { PageResult< ...

  7. 用tcpdump分析tcp三次握手,四次挥手

    1.tcpdump 简介 tcpdump是一个对网络上的数据包进行截获的包分析工具,一般linux系统以命令的形式使用 2.tcp三次握手 建立一个tcp连接会发生下面三个过程: 1.服务器必须准备好 ...

  8. C++11 auto_ptr 的问题

    auto_ptr作为最早的智能指针,可以实现以RAII手法管理堆区对象,但它设计的本意只是简单的利用C++对于栈区对象的自动析构管理堆区对象, 并不像shared_ptr那样包含引用计数,可以在每次拷 ...

  9. 【转】Thread.sleep(0)的意义

    Thread.sleep(0)的意义 2012-03-23 17:47 2188人阅读 评论(2) 收藏 举报 windows算法unixthread 我们可能经常会用到 Thread.Sleep 函 ...

  10. SQlServer第一天

    SQLserver是个什么东西?相当于一是个货仓,在计算机领域的货仓,学名:数据库. 数据库是个什么东西呢?是指长期存储在计算机内的.有组织.可共享的数据结合.由此可知数据库的三个特点:永久存储.有组 ...