Surpass Day21——Java 集合(1)


ArrayList:底层是数组

LinkedList:底层是双向链表

Vector:底层是数组,线程安全的,效率较低,使用较少

HashSet:底层是HashMap,放到HashSet集合中的元素等同于放到HashMap集合key部分了

TreeSet:底层是TreeMap,放到TreeSet集合中的元素等同于放到HashMap集合key部分了

HashMap:底层是哈希表

Hashtable:底层也是哈希表,只不过线程安全的,效率较低,使用较少

Properties:是线程安全的,并且key和value只能存储字符串String

TreeMap:底层是二叉树,可以自动按照大小顺序排序

List集合存储元素的特点:

有序:存进去和取出来的顺序相同,每一个元素都有下标

可重复:存进去1,还可以存储1

Set集合存储元素的特点

无序:存进去和取出来的顺序不一定相同,元素没有下标

不可重复:存进去1,不可以再存储1

SortedSet集合存储元素特点: 无序不可重复的,

元素可排序:可以按照大小顺序排列

Map集合的特点

Map集合的key,就是一个Set集合

往Set集合中放数据,实际上放到了Map集合的key部分

3、Collection接口

==============

3.1 Collection存放的元素类型


没有使用“泛型”之前Collection可以存储Object的所有子类型

使用“泛型”之后,Collection只能存储某个具体的类型

(集合中不能直接存储基本数据类型,也不能存储java对象,存储的是java对象的内存地址)

3.2 Collection的常用方法


1)boolean add(Object e)向集合中添加元素

//多态机制,接口是抽象的,无法实例化

Collection c = new ArrayList();

//测试Collection接口中的常用方法

c.add(1200);//自动装箱,实际上是放进去一个对象的内存地址。Integer c = new Integer(1200);

c.add(3.14);//自动装箱

c.add(new Object());

c.add(new Student());

c.dd(true);//自动装箱

System.out.println(“集合中的元素个数是:” + c.size());//5

2)int size()获取集合中的元素的个数

3)void clear()清理集合

4)boolean contains(Object o)判断当前集合中是否包含元素o,包含返回ture,不包含返回false;

c.add(“绿巨人”);

System.out.println(c.contains(“绿巨人”));

5)boolean remove(Object o)删除集合中的某个元素

c.remove(“绿巨人”);

6)boolean isEmpty()判断该集合中元素中的个数是否为0

c.clear();

System.out.println(c.isEmpty());//true

7)*Object[ ] toArray()集合转换成数组

c.add(1200);

c.add(3.14);

c.add(“12345”);

//转换成数组

Object[] objs = c.toArray();

for(int i = 0 ; i<objs.length ; i++){

//遍历数组

object o = objs[i];

System.out.println(o);//调用toString方法

}

4、集合遍历/迭代

=========

4.1 如何遍历集合


迭代方法是Collection通用的一种方法,在Map集合中不能用。在所有的Collection以及子类当中使用

//创建集合对象

Collection c = new ArrayList();

//添加元素

c.add(“abc”);

c.add(“def”);

c.add(100);

c.add(new Object());

//对集合Collection进行遍历/迭代

//第一步:获取集合对象的迭代器对象Iterator

Iterator it = c.iterator();//、、、、、、、、、、、、、、c调用iterator()拿到迭代器,迭代器是个对象,其中对象有两个方法

//第二步:通过以上获取的迭代器对象开始迭代/遍历集合

/*

以下两个方法是迭代器对象Iterator中的方法:

boolean hasNext()如果仍有元素可以迭代,则返回ture。

Object next() 返回迭代的下一个元素。

*/

while(it.hasNext()){

Object obj = it.next();

System.out.println(obj);

}

Collection c = new ArrayList();

//添加元素

c.add(1);//自动装箱成Integer类型

c.add(2);

c.add(3);

c.add(4);

//迭代集合

Iterator it = c.Iterator();

while(it.hasNext()){

//存进去什么类型,取出来还是什么类型

Object obj = it.next();

if(obj instanceof Integer){

System.out.println(“Integer类型”);//这里调用toString方法转换成了字符串

}

}

4.2 迭代器是通用的


HashSet集合:无序不可重复

无序:存进去和取出的顺序不一定相同;

不可重复:存了100不可能再存100;

Collection c2 = new HashSet();

//添加元素

c2.add(100);//自动装箱成Integer类型

c2.add(2);

c2.add(33);

c2.add(43245);

c2.add(100);

//迭代集合

Iterator it2 = c2.Iterator();

while(it2.hasNext()){

System.out.println(it2.next());//这里调用toString方法转换成了字符串

}

5、深入Collection的contains方法

=========================

contains方法是判断集合中是否包含某个元素的方法

总结

机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。

对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。

你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:

请转发本文支持一下

含某个元素的方法

总结

机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。

对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。

你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:

请转发本文支持一下

[外链图片转存中…(img-P6ILVAMu-1714504112901)]

[外链图片转存中…(img-rBZo495x-1714504112901)]

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值