java容器类_Java容器类

容器类:是Java以类库的形式供用户开发程序时可直接使用的各种数据结构。

容器接口有两种:List列表接口           Set集合接口

一、列表接口List

性质:List是Collection子接口,它是一种包含有序元素的线性表,其中的元素必须有顺序存放,且可重复,可为null

List有两种:链表类LinkedList和数组列表类ArrayList

创建两种表的对象(需先引入java.util.* 包)

1 LinkedList> ld=new LinkedList>(); //链表

2 ArrayList> al=new ArrayList>(); //数组列表

二、集合接口Set

Set性质:不含重复的元素,也是继承自Collection接口。Set集合中的对象不按特定的方式排序,只是简单的将对象加入到集合中。集合中的元素的顺序与元素加入集合的顺序无关。

实现Set接口有两个主要类:HashSet哈希集合            TreeSet集合

HashSet:根据哈希码来存取集合中的元素。哈希集合是在元素的存储位置和元素的k值之间建立一个特定的对应关系f,使每一个元素与唯一一个的存储位置相对应。(可以简单的想象成函数y=f(k))

TreeSet:TreeSet与HashSet很相似,但TreeSet集合里的元素总是处于有序的状态。

简单的使用Set

1 import java.util.*;2 public classTreeSetClass {3 public static voidmain(String[] args) {4 Set hs=new HashSet(); //创建哈希集合对象hs

5 hs.add("唐 僧");6 hs.add("孙悟空");7 hs.add("猪八戒");8 hs.add("沙和尚");9 hs.add("白龙马");

//以HashSet对象为参数,以hs对象里的元素创建TreeSet对象10 TreeSet ts=new TreeSet(hs); //创建树集合

11 System.out.println("树集合:"+ts); //输出树集合

12 System.out.println("树集合的第一个元素:"+ts.first());13 System.out.println("树集合的最后一个元素:"+ts.last());14 System.out.println("headSet(孙悟空)的元素:"+ts.headSet("孙悟空"));15 System.out.println("tailSet(孙悟空)的元素"+ts.tailSet("孙悟空"));16 System.out.println("ceilSet(沙)的元素:"+ts.ceiling("沙"));17 }18 }

三、迭代器

迭代器Iterator:类似于遍历,对容器中的元素进行访问且只访问一次。

Iterator有三个方法:

hasNext():判断是否含有后续元素,有则返回true

next():返回后续元素

remove():删除迭代器当前指向的元素

Iterator有一个子类接口ListIteraotr,ListIterator只能用于List及其子类。

创建一个迭代器:

1 import java.util.*;2 ArrayList al=new ArrayList();//创建数组列表3 Iterator iterator=al.iterator(); //返回al的迭代器

四、映射接口Map

Map是另一种存储数据结构的对象。

Map性质:Map中的元素是成对出现的,它提供了键(key)到值(value)的映射。(Map没有继承Collection)接口

Map有两种:HashMap    和    TreeMap

和集合一样,HashSet是无序的,TreeMap是有序的

Map的一般方法:

put(K key,V value)

putAll(Map extends k,? extends V)m)  把m的所有元素添加到Map对象中

get(K key)    //返回k所映射的值,没有就返回null

Set keySet()    //返回该集合中所有键对象形成的Set集合

V remove(Object key)    //将键key的条目移除

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值