最新Java集合(1),秀出天际

最后

看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面

小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>

image

针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺

image

全都是一丢一丢的收集整理纯手打出来的

更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

// 创建集合

ArrayList arr=new ArrayList();

arr.add(“hello”);//新增方法

arr.add(1, “world”);//将指定元素插入指定位置

arr.clear();//清除该列表中所有元素

arr.contains(“hello”);//如果此列表中包含指定元素,则返回true

arr.get(0);//返回此列表中指定位置上的元素

arr.isEmpty();//判断是否为空

arr.indexOf(“hello”);//返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。

arr.lastIndexOf(“hello”);//返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。

arr.remove(1);//移除此列表中指定位置上的元素。

arr.set(1, “java”);//用指定的元素替代此列表中指定位置上的元素。

arr.size();//返回列表中元素个数

arr.toArray();//转数组

(二)LinkedList特有功能

LinkedList底层使用的是链表结构,因此增删快,查询相对ArrayList较慢

void addFirst(E e) :向链表的头部添加元素

void addLast(E e):向链表的尾部添加元素

E getFirst():获取链头的元素,不删除元素

E getLast():获取链尾的元素,不删除元素

E removeFirst():返回链头的元素并删除链头的元素

E removeLast():返回链尾的元素并删除链尾的元素

5.Set集合


Set集合没有特定的方法,全部方法来自于Collection接口

如果要迭代Set下的集合,只能使用Iterator迭代

(1).保证对象唯一:依赖当前这个对象的hashCode和equals方法。

原理:先调用当前这个对象的hashCode方法,计算出哈希值,如果2个对象的哈希值相同,这时还会调用对象的equals方法判断2个对象是否相同,如果equals返回的true,就认为2个对象相同。不保存第二个对象。如果equals返回的false,第二个对象依然保持

(2).HashSet保存自定义对象

// 创建集合

HashSet set=new HashSet();

//添加自定义对象

User u=new User();

set.add(u);

set.add(new User());

//遍历

for (Iterator iterator = set.iterator(); iterator.hasNext()😉 {

System.out.println(iterator.next());

}

注:给HashSet中保存对象时一定要复写Object 类中的hashCode和equals方法

(3).LinkedHashSet

LinkedHashSet底层使用的是链表+哈希表结构。它可以保证存放的元素唯一的同时,还可以保证对象的存取顺序

//创建对象

LinkedHashSet set = new LinkedHashSet();

set.add(“aaa”);

set.add(“nba”);

set.add(“abc”);

set.add(“cba”);

set.add(“cba”);

for (Iterator it = set.iterator(); it.hasNext()😉 {

System.out.println(it.next());

}

6.Map集合


Map集合,它在保存数据的时候可以一次保存一组(一对)数据。保存的是2个对象,两个对象之间有个对应关系。

在这里插入图片描述

//创建集合

Map m=new HashMap<>();

//保存元素

m.put(“刘诗诗”, “吴奇隆”);

Object value=m.put(“ghjh”, “ghj”);

m.put(“ds”, “dsdas”);

System.out.println(m);

//继续保存数据

Object v=m.put(“ghjh”, “dsaf”);

System.out.println(m);

System.out.println(value);

System.out.println(v);

//删除功能

Map m=new HashMap<>();

m.put(“aaa”,“AAAA”);

m.put(“bbb”,“BBBB”);

m.put(“ccc”,“CCC”);

m.put(“ddd”,“DDDD”);

//通过指定的key 删除数据

Object v=m.remove(“aaa”);

System.out.println(v);

System.out.println(m);

//清除所有元素

m.clear();

System.out.println(m);

//查询功能

Map m=new HashMap<>();

m.put(“aaa”,“AAAA”);

m.put(“bbb”,“BBBB”);

m.put(“ccc”,“CCC”);

m.put(“ddd”,“DDDD”);

Object v=m.get(“aaa”);

System.out.println(v);

System.out.println(m.size());

判断方法:

boolean isEmpty() 如果此映射未包含键-值映射关系,则返回 true。

boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。

boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。

7.Map和Set集合的关系

总结

互联网大厂比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考。无论是哪家公司,都很重视高并发高可用技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

**另外本人还整理收藏了2021年多家公司面试知识点以及各种技术点整理 **

下面有部分截图希望能对大家有所帮助。

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

人还整理收藏了2021年多家公司面试知识点以及各种技术点整理 **

下面有部分截图希望能对大家有所帮助。

[外链图片转存中…(img-B7dwExhm-1715641105366)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值