Java集合小结
2023-12-21 03:09:56
1 单列集合 Collection
每个元素只有一个值
1.1 List
ArrayList | LinkedList | |
---|---|---|
元素特点 | 有序、可重复、有索引 | 有序、可重复、有索引 |
底层实现 | 数组 | 双链表 |
使用策略 | 在意元素添加顺序,元素重复,频繁根据索引查询 | 在意顺序,元素重复,增删首尾数据较多 |
1.2 Set
HashSet | LinkedHashSet | TreeSet | |
---|---|---|---|
元素特点 | 无序、不重复、无索引 | 有序、不重复、无索引 | 升序、不重复、无索引 |
底层实现 | 哈希表 | 哈希表 + 双链表 | 红黑树 |
使用策略 | 不在意元素添加顺序,无重复元素,增删改查快 | 在意添加顺序, … | 需要对元素排序,… |
1.3 Collection遍历方式
Collection<String> c = new ArrayList<>();
//方式一,迭代器(只能遍历集合,不能遍历数组)
Iterator<String> it = c.iterator();
while(it.hasNext()){
String s = it.next();
}
//方式二,增强for循环(数组也能用)
String[] names={"奥特曼","小怪兽"};
for (String name : names) {
System.out.println(name);
}
//方式三,forEach方法,可结合lambda表达式简化
c.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
);
//简化:
c.forEach((String s) -> {
System.out.println(s);
});
//再次简化
c.forEach(s ->{
System.out.println(s);
});
//再再次简化
c.forEach(s -> System.out.println(s));
//再再再次简化
c.forEach(System.out::println);
1.4 Collection常用方法
2 双列集合 Map
键值对集合
.特点由 键 决定,值 只是附属品,没有要求
.
底层实现和Set一样,Set就是在调用Map,只不过只要键数据而已
.需要存储一一对应的数据时,就可以考虑使用Map集合来做
2.1 三种常见的map遍历方式
//方式一,键找值:
map.keySet()获取全部键,然后遍历获取对应值map.get(key)
//方式二,键值对:
Set<Map.Entry<K, V>> entries = map.entrySet() 获取所有“键值对”实体,
然后使用增强for循环通过 entry.getKey() 和.getValue() 进行遍历
//方式三lambda:BiConsumer
map.forEach(new BiConsumer<String, Double>() {
@Override
public void accept(String k, Double v) {
System.out.println(k,V);
}
);
//简写
map.forEach( (k,v) ->System.out.println(k+"--->"+v) );
2.2 map常用方法
文章来源:https://blog.csdn.net/weixin_45606831/article/details/135117052
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!