Java 2023.7.17 7.18(ArrayList、Linkedlist、HashSet、迭代器Iterator、HashMap、泛型、Collections算法类)

集合框架和泛型

一、框架内容

(1)Collection 接口存储一组 不唯一无序的对象

(2)List 接口存储一组不唯一有序(插入顺序)的对象

ArrayList:实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率

比较高

LinkedList:采用链表存储方式,插入、删除元素时效率比较高

(3)Set 接口存储一组唯一无序的对象

(4)Map接口存储一组键值对象,提供key到value的映射

二、List\rightarrowArrayList

1.boolean add(E e):将指定的元素添加到此列表的尾部

 

2. int size()返回此列表中的元素数

运行结果为3   4 

3.E get(int index) :返回此列表中指定位置上的元素

4、 使用普通for循环遍历集合元素

5、 使用增强for循环遍历集合元素

 6.使用迭代器遍历集合元素  Iterator

//迭代器也是一个容器,用来存储元素,将ArrayList集合中的元素取出来后,存入到迭代器容器中,然后通过迭代器调用相应方法获取元素

//通过循环的方式从迭代容器中取出元素,有元素就取出来,所以需要先使用hasNext()方法判断迭代器中有没有元素,如果有,使用next()方法获取里面的元素

4、5、6遍历结果

7. void add(int index, E element):将指定的元素插入此列表中的指定位置。

 

 8. boolean contains(Object o):如果此列表中包含指定的元素,则返回 true。

 9.E remove(int index):移除此列表中指定位置上的元素。

10.boolean remove(Object o):移除此列表中首次出现的指定元素(如果存在)

 

11.boolean isEmpty()如果此列表中没有元素,则返回 true

12.void clear():移除此列表中的所有元素。

 

 13.Object[] toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。

三、List\rightarrowLinkedlist

1.将元素添加到集合的第/最后一个位置

addFirst();  addLast();

 2.获取集合中第/最后一个元素

linkedList.get(0);

linkedList.get(linkedList.size()-1);

getFirst();  getLast();

 3.删除集合中第/最后一个元素

linkedList.remove(0);

linkedList.remove(linkedList.size()-1);

removeFirst(); removeLast();

四、Set\rightarrowHashSet是Set接口常用的实现类

1、HashSet集合中重复的元素不计入元素个数

2、Set集合中的元素是无序的,所以没有下标值类标识元素的位置,也

没有get()方法来获取元素

五、迭代器Iterator

boolean hasNext(): 判断是否存在另一个可访问的元素

Object next(): 返回要访问的下一个元素

六、Map接口最常用的实现类是HashMap

Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作

1、添加元素用put

2、通过见建来获取值  get(key)

3、移除元素  remove(key)

4、查看集合中是否包含指定的元素  

boolean containsValue("日本国");

boolean containsKey("JP");

 5、获取Map集合中所有键值对中的键

Set<K> keySet():返回此映射中所包含的键的 Set 视图

6、获取Map集合中所有键值对中的键

Collection<V> values():返回此映射所包含的值的 Collection 视图。

 7、遍历输出集合中的元素,以键-值的形式输出

 

8、遍历Map集合

(1) 使用增强for循环遍历Map集合

(2)使用迭代器遍历Map集合

(3)使用键值对的形式遍历Map集合

六、泛型

典型泛型集合ArrayList<E>、HashMap<K,V>

 

七、Collections算法类

Collections类定义了一系列用于操作集合的静态方法

Collections和Collection不同,前者是集合的操作类,后者是集合接口

1、(1)sort():排序

(2)Comparable接口  重写compareTo()方法

Student类

 

Collections类

2、binarySearch(数组,查找内容):查找

3、max()\min():查找最大\最小值

4、 reverse():将数组降序排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值