【JAVA】集合,Collection接口和Map接口的实现类及其常用方法

Collection和Map接口及实现类总览

在这里插入图片描述

在这里插入图片描述

Collection接口和常用方法

add:添加单个元素

Collection col = new ArrayList();
col.add("张三");
col.add(123);//col.add(new Integer(10))
col.add(true);//一个col里可以有不同类型的元素

remove:删除指定元素

col.remove(0);//删除第一个元素
col.remove(123);//删除指定元素

contains:查找元素是否存在

col.contains(123);//F

size:获取元素个数

col.size()//1

isEmpty:判断是否为空

col.isEmpty()//F

clear:清空

col.clear()

addAll:添加多个元素

Collection col2 = new ArrayList();
col2.add("a");
col2.add("b");
col.addAll(col2);//[true,a,b]

containsAll:查找多个元素是否都存在

col.containsAll(col2);//T

removeAll:删除多个元素

col.removeAll(col2);

iterator:用于遍历Collection集合中的元素

Iterator iterator = col.iterator();
while(iterator.hasNext()){
	Object o = iterator.next();
}

List接口额外的常用方法

1)List集合类中元素有序(添加顺序和去除顺序一致)、且可重复
2) List集合中每个元素都有其对应的顺序索引,即支持索引。

add(int index, Object obj):在index位置插入obj

List list = new ArrayList();
list.add(1,"a");

boolean addAll(int index, Collection eles):从index 位置开始将eles 中的所有元素添加进来

List list2 = new ArrayList();
list2.add("jack");
list2.add("tom");
list.addAll(1, list2);

Object get(int index):获取指定index 位置的元素

int indexOf(Object obj):返回obj 在集合中首次出现的位置

int lastIndexOf(Object obj):返回obj 在当前集合中末次出现的位置

Object remove(int index):移除指定index 位置的元素,并返回此元素

Object set(int index, Object ele):设置指定index 位置的元素为ele , 相当于是替换.

List subList(int fromIndex, int toIndex):返回从fromIndex 到toIndex 位置的子集合

Map接口常用方法

  1. Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value
  2. Map 中的key 和 value可以是任何引用类型的数据,会封装到HashMap$Node对象中
  3. Map中的key 不允许重复,原因和HashSet一样.
  4. Map中的value 可以重复
  5. Map 的key可以为null, value也可以为null,注意key为null, 只能有一个,value为null ,可以多个.
  6. 常用String类作为Map的key
  7. key 和 value之间存在单向一对一关系,即通过指定的key 总能找到对应的value
Map map = new HashMap();

//put:添加映射
map.put("a",1);
map.put(null,2);
map.put("b",null);

// remove:根据键删除映射关系
map.remove(null);

// get:根据键获取值
Object val = map.get("a");

//size:获取元素个数
map.size();

//isEmpty:判断个数是否为0
map.isEmpty();

//clear:清除k-v
map.clear();

//containsKey:查找键是否存在
map.containsKey("b"));

Collections工具类(注意区分Collection接口)

Collections是一个操作 Set、List和 Map等集合的工具类,其中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作。

  1. reverse(List):反转List中元素的顺序
  2. shuffle(List):对List集合元素进行随机排序
  3. sort(List):根据元素的自然顺序对指定List集合元素按升序排序
  4. sort(List,Comparator):根据指定的Comparator产生的顺序对 List 集合元素进行排序
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
//可以加入校验代码.
return ((String) o2).length() - ((String) o1).length();
}
});
  1. swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换

  2. max(Collection):根据元素的自然顺序,返回给定集合中的最大元素

  3. Object max(Collection,Comparator):根据Comparator 指定的顺序,返回给定集合中的最大元素

Object maxObject = Collections.max(list, new Comparator() {
	@Override
	public int compare(Object o1, Object o2) {
		return ((String)o1).length() - ((String)o2).length();
	}
}
  1. Object min(Collection)
  2. Object min(Collection,Comparator) 参考max
  3. int frequency(Collection,Object):返回指定集合中指定元素的出现次数
  4. void copy(List dest,List src):将src 中的内容复制到dest 中
ArrayList dest = new ArrayList();
//为了完成一个完整拷贝,我们需要先给dest 赋值,大小和list.size()一样
for(int i = 0; i < list.size(); i++) {
	dest.add("");
}
//拷贝
Collections.copy(dest, list);
  1. boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List 对象的所有旧值

总结

在开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择,分析如下:

在这里插入图片描述

  • 38
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值