集合--概念

1.1集合框架概述

集合和数组的相似点:都可以存储多个对象,对外作为一个整体

 数组的缺点(集合的优点):

1.数组的长度必须在初始化时指定,且固定不变

2.数组采用连续存储空间,删除和添加效率低

3.数组无法直接保存映射关系

4.数组缺乏封装,操作繁琐

集合的优点

1.集合的底层为数组时长度改变在封装内完成

2.集合的底层可以是数组,链表,哈希表,红黑树等,效率高

3.集合中的MAP专门用于保存映射关系

4.集合都是由接口和类的方式封装完成,可以直接调用(方便!!)

集合框架:

容器两大类:Collection接口     和      Map接口

 Collection接口存储不唯一无序的对象。包含list接口和Set接口:

list接口存储不唯一有序的对象。相当于数组

 set接口存储唯一无序的对象:

Map接口存储一组键值对象,提供key到value的映射:比如学生与学号的集合

key: 唯一   无序

value:不唯一 无序

ArrayList(相当于线性表):

LinkedList(相当于链表):

1.2ArrayList

ArrayList的基本操作:

添加:

//add方法,在末尾添加
list.add(67);
list2.add(54);
list.add(2,93);//在数组索引为2的地方增加93
list.addAll(list2);//在list末尾加入list2
list.addAll(2,list2);//在索引为2处加入list2

删除:

 
list.removeAll(list2);//删除list中包含的list2中的元素(取并集)
list.retainAll(list2);//保留list中包含的list2中的元素(取交集)

修改:

list.set(1,99);

查询:

list.get(2);
list.size();
list.isEmpty();

在集合中使用泛型:

优点:

1.安全(自动类型判别)

2.方便(不用强转)

方法:

ArrayList<Integer> list =new ArrayList<Integer>();

不使用泛型会出现的问题:

1.不安全(不规范) :list.add("ssssada");

2.繁琐:需要进行强制转换,需要将接中的对象从object类转化为基本类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值