Java类集框架

类集就是一个动态对象数组,可以存放基本数据类型,也可以存放对象,Java中实现类集的包是java.util.*,使用类集必须先导入这个包 import java.util.*;

三大集合:List、Set、Map


概述:

保存单个值的集合:Collection,它有两个子类ListSet

  |-List :允许有重复元素,有序(按输入的顺序存放和输出)

      |-ArrayList:异步处理,只能用Iterator输出

           |-LinkedList:使用链表结构的集合

      |-Vector:同步处理,能用IteratorEnumeration同时输出

  |-Set 不允许有重复元素

      |-HashSet:散列,无序

      |-TreeSet:有序,按Compareable接口排序,由小到大

保存一对值:Map

  |-HashMap:异步处理的,新类

  |-Hashtable:同步处理,旧类

  |-TreeMap:按Key进行排序的集合

输出:|-Iterator:新的输出类,方法名称短,一般多用它输出

      |-Enumeration:旧的输出类,方法名称长,少用

 

1.Collection接口:在开发中一般都不直接使用它,而使用它的子接口List、Set

List实现由它的ArrayList类完成,ArrayList继承AbstractList类并实现List接口,ArrayList是动态数组, 采用异步处理方式,有序(按输入顺序排放),数据可以重复,由于用数组实现,所以查询快,增删慢

创建: List list=new ArrayList();

加入数据:add(Object obj);加入数据的顺序就是输出数据的顺序 

删除数据:remove(Object obj);

Java类集框架



LinkedList类提供了链表数据结构,其操作与ArrayList无异,由于用链表实现,所以增删快,查询慢

两者都使用Iterator(迭代器,循环器)输出,因为集合的长度不固定,所以Iterator采用一个一个的判断输出,有则输出。判断是否有下一个元素:hasNext()      取内容:next()

如果想让集合中指加入某一种对象,使用泛型<E>  List<String> list=new ArrayList<String>这样只能存放字符串对象

List的另一个子类:Vector,它是同步的,线程安全,但是效率低

Collection集合的主要操作方法:add(),remove(),size(),iterator(),get()

 

2.HashSet类继承AbstractSet类并且实现Set接口,无序,散列存放,数据不可以重复 Set set=new HashSet();

Set的使用基本与List一致,但是HashSet是无序的,如果希望存放时有序的,使用TreeSet,自动排序(与List不一样),它使用了Compareable接口排序。

Java类集框架

注:HashSet的底层是由HashMap实现的

 

Java类集框架




 

3.Map相当于电话本,通过键值一一对应,key-value,Map的主要功能是作为查找使用,而不是输出使用,

 Map map=new HashMap()     Map存放数据的方法:put(key,value)     取数据的方法:get(key)

Map接口的对象不能直接使用Iterator输出,如果非要使用Iterator对象输出集合中的内容,使用一下步骤:

               Map—Set—Iterator—Map.Entry—key,value

Java类集框架

TreeMap与HashMap无异,但是它可以对数据进行排序,可以快速检索

Hashtable与HashMap类似,但Hashtable是同步的,同时不支持迭代函数(iterator)

 

4.Enumeration枚举类(一一列出所有可能),与Iterator功能相同,都是输出集合中的内容,List和Set都不能使用Enumeration输出,但是List的一个子类Vector可以使用它输出。

Vector v=new Vector();      Enumeration e=v.elements();

判断是否有下一个内容:hasMoreElements    取值:nextElement()

Java类集框架

5.栈是一个先进后出的存储结构,进栈(push),出栈(pop)

Java类集框架

属性类:Properties,与Hashtable不同的是,它主要保存字符串,而Hashtable保存对象。

存数据:setProperty(key,value)    取数据getProperty(key)

Java类集框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值