集合框架

集合框架

List/Set/Map

 

List/Set  实现Collection接口(不是connection,别犯这种低级错误)

 

1.List,队列,不确定数组长度时使用(其他特点:数据有序,可根据下标取,数据可重)

1.1 List为接口泛型接口

1.2 ArrayList为其最常用的实现类(此外还有LinkedList等)List list =new ArrayList()

此类大致上等同于Vector 类(向量类),除了此类是不同步的,(不支持并发线程修改?)

  

 

1.3 增删查改

add(),为list添加数据(object型,即可以添加任何对象,可在同一个List中加几种数据类型(包括类类型))

也可以往中间某个位置加(index,alue),(后面的顺移)

 

ArrayList<String> 变成只能加String型

 

get(0)获取list中数据  eg:System.out.println(list.get(i));

remove(0)删除指定位置的数据

set(下标值,值) 改,覆盖

.size()获取长度

 

2. Set 表 不能包含重复元素(自动去重),无序

2.1 Set<String> set=new HashSet<String>();

 

2.2 增 add(),

   有bool型返回值(已有,false,添加不成功)

   删 remove(object)

 

2.3 取 除 改 用迭代器 iterator(因为无序)

iterator<String>it=Set<String>.iterator

 

while(it.hasNext())

{System.out.println(it.next());}

 

删 remove()无参数(必须在next方法之后,即必须确定有元素)很少用

从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。

 

3.Map 也是泛型接口存储方式:键值对,一个键对应一个值,键不能重复(如果键值重复,会用后值覆盖前值),键值都可以为空

 

键值都不可以为基本数据类型(八大),String不是基本数据类型,

但可以用八大对应的应用类型(eg:bool->boolean)

 

3.1实例化类HashMap

实例化时需要指定两个类型,键&值

Map<String,String> map=new HashMAp<String,String>

 

加 put(key,value)

 

查 :知道键值,可以不用迭代器,直接取值

Object value1=map.get(键);

 

否则先拿到键的集合,再拿到该集合的迭代器,再取值

Set<String>mapkey=map.keySet();

Iterator it=mapkey.iterator();

while(it.hasNext)

{ String key=it.next();

   String value=map.get(key);

        // 输出

}

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值