学习集合框架

文章详细介绍了Java集合框架的用途,如解决数组内存浪费问题,以及其主要组件如Collection、List、Set和Map接口的实现类和特点。ArrayList和LinkedList作为List接口的实现,分别以数组和链表方式存储数据,各有查询和操作效率的优势。Map接口用于存储键值对,HashMap是常见实现。此外,文章还涉及了泛型的使用和集合的操作,如添加、删除和查询数据。
摘要由CSDN通过智能技术生成

1.1为什么使用集合框架

缘由:由于数组在创建的时候会默认定义数组的长度,而数组的长度是不变的,所以导致数组的赋值及创建会有内存浪费的现象,于是集合作为可以更改长度的“数组”,可以解决内存浪费的现象。

1.2 Java集合框架架构图

 

怎么认识集合:(面试题)

1.集合有两个父接口一个是Collection、Map

2.collection有两个子接口:List、Set

3.List有两个实现类:ArrayList、LinkedList

4.Set有两个常见的实现类:HashSet、TreeSet

5.Map有两个常见的实现类:HashMap、HashTable

1.3 Java集合框架特点(面试题)

(1)List的特点:有序并且可重复

(2)Set的特点:无序并且不能重复

(3)Collection的特点:无序并且可以重复

(4)Map的特点:存放一对值【键值对】(key 键---value 值 )

2..List接口

ArrayList和LinkedList的区别(面试题)

1. List接口的实现类种类

(1)ArrayList的特点:查询效率高,而增删改的效率低(数组方式存储)

(2)LinkedList的特点:查询效率低,增删改的效率高(链表方式存储)

2.1ArrayList集合类

(1)实例化ArrayList对象

(2)添加数据:add()

第一种:直接添加值:

第二种:通过角标添加值

 

 

(3)删除数据:

第一种:通过角标删除数据

 第二种:通过值删除数据

 

(4)查询数据

 第一种:传统for循环

 第二种:增强for循环

 

(5)拓展:

arrayList.size()是获取数组长度的方法

arrayList.get()是获取数组的每个元素值

3.ArrayList集合类(泛型)

泛型:<>用来指定集合存放数据的类型

3.1存放String类型

3.2存放Integer类型(如果存放基本数据类型是包装类型,int的包装类型是Integer)

正确的:

 错误的:

3.3存放基本对象的泛型

 

 

4.LinkedList集合类

4.1 LinkedList存放Object类型数据

 

4.2 LinkedList存放对象类型数据

拓展:如果使用到LinkedLiset中的独有的方法addFirst(),addLast(),removeFirst(),removeLast()
则不可以使用List<user> users = new LinkedList<>();,只能用LinkedList<User> users = new LinkedList<>();

3.Set接口

要点1: Iterator()获取迭代器对象(迭代器的作用是遍历Set集合)

要点2: hasNext()判断是否有下一个对象

要点3:next()获取下一个值

 

 要点4:sets集合是没有顺序的

 

要点5:sets 集合不可以存放重复的数据

 

 

 2.Set -泛型-String

 

 

 3.Set--对象类型

 

 

 

4.Map集合类

4.1 实例化HashMap

 4.2给HashMap赋值

 遍历HashMap

第一种

 第二种:

Map泛型--string

 

Map泛型--对象

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值