java高级特性集合_JAVA的高级特性——集合框架

为什么使用集合框架

如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架

Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

集合的框架包含的内容

235f2a572a4c4f6a4f9dfca89d548e44.png

Collection接口存储一组不唯一,无序的对象

List接口存储一组不唯一,有序的(插入顺序)的对象

Set接口存出一组1唯一,无序的对象

Map接口存储一组键值对象,提供key到value的映射

Set接口

Set接口存储一组唯一,无序的对象

HashSet是Set接口常用的实现类

Set中存放对象的引用

集合框架有何好处

①可改变长度的数组

②可以通过size()方法获取非null对象个数

③插入add()、删除remove()、遍历、查询对象get(index)时,减少代码量

ArrayList和LinkedList区别

1:存储方式

①ArrayList:长度可变的数组,存储空间连续

②LinkedList集合:链表式结构存储

2:执行效率

①ArrayList:遍历和随机访问效率高

②LinkedList集合:插入和删除效率高

List常用方法

6d4af90c3c7414a34e08b90d39d9fad7.png

LinkedList的特殊方法

83fb5b59c2b539b78847bdab30751ab6.png

Map接口

Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作

最常用的实现类是HashMap

a1ea261a6165c22564838805ae308082.png

迭代器Iterator

通过迭代器Iterator实现遍历获取Iterator :Collection 接口的iterator()方法

案例

@Test

public void test04(){

Dog ouou = new Dog("ouou","雪纳瑞");

Dog yaya = new Dog("yaya","拉布拉多");

Dog feifei = new Dog("feifei","哈士奇");

Dog meimei = new Dog("meimei","吉娃娃");

Map map = new HashMap();

map.put(ouou.getName(), ouou);

map.put(yaya.getName(), yaya);

map.put(feifei.getName(), feifei);

map.put(meimei.getName(), meimei);

Set keySet = map.keySet();

Iterator it = keySet.iterator();

while(it.hasNext()){

String key = (String )it.next();

Dog  dog =(Dog) map.get(key);

System.out.println(dog.getName()+" "+dog.getStrain());

}

增强for循环

语法:for(元素类型t  元素变量x : 数组或集合对象){

引用了x的java语句

}

案例:

@Test

public void test04(){

Dog ouou = new Dog("ouou","雪纳瑞");

Dog yaya = new Dog("yaya","拉布拉多");

Dog feifei = new Dog("feifei","哈士奇");

Dog meimei = new Dog("meimei","吉娃娃");

Map map = new HashMap();

map.put(ouou.getName(), ouou);

map.put(yaya.getName(), yaya);

map.put(feifei.getName(), feifei);

map.put(meimei.getName(), meimei);

Set keySet = map.keySet();

System.out.println("***********");

for( Object  key :  keySet){

Dog  dog =(Dog) map.get(key);

System.out.println(dog.getName()+" "+dog.getStrain());

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值