List接口:可以存放重复内容;
set接口:不能存放重复内容,重复内容依靠hashcode和equal两个方法来区分;
Queue:队列;
SortedSet接口:对集合中的数据进行排序;
 

List接口:

List子类:ArrayList,Vector
ArrayList和Vector的区别:

LinkedList类和queue接口

LinedList 链表的操作类
Queue接口是Collection的子接口
 

Set接口:

Set接口是collection接口的子接口,但是和Collection或者List接口不同的是:set不能加入重复元素。
set的主要方法同Collection一致
Set接口的实例无法像List接口那样进行双向输出
Set子类:
散列存放:HashSet
有序存放:TreeSet
Set是无序的,List是按照存放顺序进行排序的。
对象排序必须实现Commparable接口,在commpareTo方法里面对对象数据进行排序
 

集合类的操作:

Iteartor
ListIterator
foreach输出
Enumeration输出
注意:在使用集合输出的时候必须形成如下思路,只要是碰到集合数据的操作,就一定使用Iterator接口
Iterator接口的操作原理:
Interator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断是否有内容,如果有取出来。
迭代器标准写法:
迭代删除元素:
注意点:
List接口存在删除方法:remove
如果在使用输出的过程中使用list的remove执行删除,会出现问题。
在使用Iterator输出的时候,不要使用集合类里面的remove方法,只能使用迭代器里面的remove方法。
 

ListIterator

Iterator的子接口;Iterator主要是实现从前到后的单项输出,如果实现从后到前或者从前到后的双向输出,就要使用子接口ListIterator
注意:只有List接口才存在ListIterator接口的实例化操作。
先进行向前才能进行向后操作。
 

Map接口:

Collection和Map的区别:
Collection的操作是一个对象,map是一对对象,key-->value形式进行存储
 
Map的子类:
HashMap:无序存放,新的操作类,key不能重复
HashTable,无序存储,旧的操作类,key不允许重复
TreeMap:可以排序的map集合,按照集合中的key进行排序,key不允许重复。
WeakHashMap:弱引用Map集合,当集合中否写内容不再使用时候,可以清除掉无用的数据,并使用gc回收。
IdentityHashMap,key可以重复的Map集合。
 
HashMap和HashTable的区别:
 
Map接口输出:
顺序如下:
使用foresh输出:

IdentityHashMap类:

如果希望key可以重复可以使用IdentityHashMap
SortedMap
SortedSet是TreeSet的实现接口
SortedMap是TreeMap的实现,是可以排序的map
 

Collections,集合类帮助类

提供集合类相关的帮助方法:
emptyList()
emptySet()
addAll()
replayAll()
 

Stack,栈

栈是先进后出的数据结构进行存储的,新的元素压在旧的元素上面;
 
Stack是Vector的子类
push入栈
pop出栈

java复习 --集合类的更多相关文章

  1. java复习集合类之List接口

    List 为有序可重复列表 实现List接口的类主要是ArrayList 下面为ArrayList的测试代码 import java.util.ArrayList; public class demo ...

  2. java 复习001

    java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...

  3. java基础 集合类

    java集合类主要有以下集中: List结构的集合类: ArrayList类, LinkedList类, Vector类, Stack类 Map结构的集合类: HashMap类,Hashtable类 ...

  4. Java的集合类

    转自:Q.Mr的博客 http://www.cnblogs.com/zrtqsk/p/3472258.html (本人第一次写博客,部分内容有参照李刚老师的疯狂java系列图书,如有遗漏错误,请多指教 ...

  5. java 复习003 之排序篇

    由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; ...

  6. java复习(1)---java与C++区别

    [系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...

  7. 首先java中集合类主要有两大分支

    本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...

  8. Java复习11. 单例编程

    Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton {     private static Singleton instance; ...

  9. Java复习9网路编程

    Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnecti ...

随机推荐

  1. InnoDB的Named File Formats

    随着InnoDB存储引擎的发展,新的页数据结构有时用来支持新的功能特性.比如前面提到的InnoDB Plugin,提供了新的页数据结构来支持表压缩功能,完全溢出的(Off page)大变长字符类型字段 ...

  2. CentOS 7安装nginx

    CentOS 7安装nginx 参考网上其他文章做的 安装Nginx 我们从nginx官方的RPM源来安装一个预构建的稳定版本的nginx包. rpm --import http://nginx.or ...

  3. ES 6 : 函数的扩展

    1. 函数参数的默认值 [ 基本用法 ] 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法. 上面的代码检查函数log的参数y有没有赋值,如果没有,则指定默认值为world.这种写法的 ...

  4. CentOS 6.5安装之后的网络配置

    CentOS 6.5安装之后的网络配置 1.查看IP地址,得到只有一个回环地址 127.0.0.1 2.进行网络测试,现在来测试下,看能不能ping通外网www.baidu.com 下面的是,关于pi ...

  5. 根据相同的字段创建或者修改一个Model

    public static class ObjectUtils { /// <summary> /// 根据source创建一个强类型的Object,并根据相同属性名进行赋值. /// & ...

  6. python reduce使用实例

    通过一个简单的算法来了解reduce的巧用. 构建函数persistence(n),如果n>9,则返回0.否则继续根据n的权重来分解n,如n=999,则分解为9,9,9.那么将9*9*9=729 ...

  7. CODE[VS]-机票打折-浮点数处理-天梯青铜

    题目描述 Description 输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字).编程计算打折后机票 的实际价格(单位:元.计算结果要将个位数四舍五入到十位数“元 ...

  8. ACM北大学习

    在两周的学习下,对ACM竞赛有了更深入地了解.学习到了很多知识,见识到了很多高手,目光放得更长远了.最后的比赛,在100多个队伍中,获得第十八的名次,也不负我的学习.

  9. mysql分享记录

    今天公司进行了一次mysql的分享,做一下记录,也许很多东西很简单,但是对于不知道的人就很难 1.用最小代价存储 举个例子来说,如果能确定某个字段是存数字的,并且数字的大小一定不会超过127或255, ...

  10. hdu1030

    #include<stdio.h>#include<math.h>void find(int n,int &l,int &r,int &level){ ...