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. apns关于APP数字角标的理解

    前两天群里有兄弟在吐槽,做远程推送的时候:老板要求APP桌面图标的右上角显示红色未读数字(数字角标)要精准,有多少未读通知就显示数字几:但是后台的弟兄在发送推送通知的时候,每次的角标是1,然后要移动端 ...

  2. JavaSE——UDP协议网络编程(一)

    UDP协议基础: UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用.包括网络视频会议系统在内的众多的客户/服务器模式 ...

  3. 一个简单的使用restc demo

    最近不经意间看到饿了么团队开发的restc,接口调试工具(类似postman),其实调试接口都没用过工具,每次都只是运行起项目直接调接口.闲来无事,看到restc,就决定试试,后面觉得挺不错的,就分享 ...

  4. Putty的注册表设置

    Putty是一款非常好用的远程管理Linux系统的工具,其主要具有以下几个优点:  完全免费;  在Windows 9x/NT/2000下运行的都非常好;  全面支持SSH1和SSH2:  绿色软件, ...

  5. 前端之Photoshop切片

    什么是切片 ?     (Photoshop中的切片) 切片:将图片切成几部分,一片一片往上传,这样上传的速度比较快.每个切片作为一个独立的文件传输,文件中包含切片自己的设置.颜色调板.链接.翻转效果 ...

  6. 一个App从创意到最终上架到App Store里的整个过程是怎样的?

    一个App从创意到最终上架到App Store里的整个过程是怎样的? 制作App需要什么软件?应该看什么书?需要哪些设备?推到App Store里,需要注册什么网站?是否需要付费?需要什么证书之类的? ...

  7. Front-End(一)

    前端初识 现在网站开发的市场越来越大,个人和企业都有了主页.网络办公的需求,并且随着网站开发前端和后台的工作细分,前端开发的需求也越来越大. 前端的任务是将美工的网页设计使用前端技术尽可能无差别地实现 ...

  8. jvm的垃圾回收几种理解

    1.引用计数器回收 给每个对象设置一个计数器,当该对象被引用时,计数器加1,当有其他变量不再引用该对象时,计数器减1.直到计数器数值为0,回收器视为他是‘垃圾’,可以被回收,当该对象被回收时,其他引用 ...

  9. 设计模式 -- 中介者设计模式 (Mediator Pattern)

    中介者模式的定义:将多对多关系分散为一对多的关系,将网状结构变成星状结构,降低复杂度,提高扩展性. 角色: Mediator :抽象中介者角色,以抽象类的方式实现,生命具体对象,以及抽象方法: Con ...

  10. 原生JavaScript+CSS3实现移动端滑块效果

    在做web页面时,无论PC端还是移动端,我们会遇到滑块这样的效果,可能我们往往会想着去网上找插件,其实这个效果非常的简单,插件代码的的代码往往过于臃肿,不如自己动手,自给自足.首先看一下效果图: 分析 ...