集合框架List、Set和Map

1.stringbuffer可以随便存,但最终要转成字符串才能用——局限性。
2.数值多——数组存——对象存——集合存 (存对象地址)
3.集合中不能存储基本数据类型值。

Collection根接口

在这里插入图片描述
接口工具
Iterator it=a.iterator();创建对象
it.next();取下一个元素。
在这里插入图片描述
(1)List
有序的collection,存入和去除顺序一致,元素都有索引(角标),元素可以重复。List.size()
list常用子类特点
在这里插入图片描述
LinkedList设计堆栈和队列 堆栈先进后出;队列先进先出。.remove();改变长度,返回删除元素.为空抛出异常
(2)Set不包含重复的元素
在这里插入图片描述
LinkdHashSet为hashset的子类
Hash表和链表的结合。保证hashset的有序性,又能唯一。
TreeSet(能对元素排序)
使用元素的自然顺序进行排序,不同步。
在这里插入图片描述
(3)Map
在这里插入图片描述
Map不具有迭代器,KeySet()方法
在这里插入图片描述
工具类
**java中的排序工具主要是有两个Arrays和Collections
1,Arrays
Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法。
Array.sort(Object[] array):

2,Collections
Collections是针对集合类的一个帮助类,它提供了一系列静态方法实现了对各种集合的排序,搜索和线程安全等操作。
.Reverse(element):逆序排序,对当前集合的元素按照相反的顺序进行排序
.Sort(element):对当前集合进行升序排序,实现Comparable接口的类,只能使用一种排序方案,这种方案叫作“自然比较”方案。
Map集合要先转成单列set才能遍历,map.keyset **

集合选取技巧
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList。
如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高,如果多个线程可能同时操作一个类,应该使用同步的类。
要特别注意对哈希表的操作,作为key的对象要正确复写equals和hashCode方法。

遍历集合
ForEach循环
遍历方便。特定操作的话可以迭代器和传统for循环,遍历角标。
在这里插入图片描述
集合框架工具类collections排序 方法都是静态
逆序:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值