14.集合类

我这些学习笔记,记录的都是我自己认为的知识点,可能以后再看的时候还要翻书,但是可以用来定位到准确的书中示例的位置,减少翻书重找的时间,利于自身知识体系的搭建。                   self-transcendence

第14章 集合类

14.1集合类概述

常用的集合有listsetmap

                                                                 HashSet

                                                       Set     TreeSet

                                Collection      list      ArrayList

Java.lang.Object                                      LinkedList

                                Map               HashMap

                                                       TreeMap

--------------------------------------------------------------------------

扫描二维码关注公众号,回复: 1844179 查看本文章

14.2 Collection接口

Collection接口是层次结构中的根接口。构成Collection的单位称为元素。该接口通常不直接使用,但他提供了添加、删除、管理数据的方法。List接口和set接口都是继承Collection

方法

功能描述

Add(E e)

添加指定对象

Remove(Object o)

移除指定对象

isEmpty()

返回boolean值,判断当前集合是否为空

Iterator()

用于遍历集合中的对象。返回在此Collection的元素上进行迭代的迭代器

Size()

返回int值,获取该集合中元素的个数

关于Iterator()如下例

Iterator<String> it=list.iterator();

While(it.hasNext()){

String s=(String)it.next();

}

Iteratornext()方法返回的是Object

---------------------------------------------------------------------------

14.3 List集合

List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似java数组,用户可通过使用索引(元素在集合中的位置)来访问集合中的元素。

get(int index)set(int indexObject obj)

List接口的常用实现类有ArrayListLinkedList

A. ArrayList类实现了可变的数组,允许保存所有元素包括null,根据索引可以对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象速度较慢

B. LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,效率较高;但对于随机访问集合中的对象时效率较低。

---------------------------------------------------------------------------

14.4 set集合

Set集合中对象没有顺序,且不能包含重复对象。

a. HashSet类实现接口,由哈希表(实际上是一个HashMap实例)支持。它不保证Set的迭代顺序,特别是它不保证该顺序恒久不变

b. TreeSet类不但实现了set接口还实现了sortedSet接口,因此TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,就是说可以通过比较器对TreeSet实现的set集合中的对象进行排序

方法

功能描述

First()

返回此set中当前第一个(最低)元素

Last()

返回此set中当前最后一个(最高)元素

Comparator()

返回对此set中的元素进行排序的比较器。如果此set使用自然顺序,则返回null

headSet(E toElement)

返回一个新的set集合,新集合是toElement(不包含)之前的所有对象

subSet(E fromElement,E fromElement)

返回一个新的set集合,是fromElement(包含)对象与fromElement(不包含)对象之间的所有对象

tailSet(E fromElement)

返回一个新set集合,新集合包含对象fromElement(包含)之后所有对象

代码说明:存入TreeSet类实现的set集合必须实现Comparable接口,该接口中的compareToObject o)方法比较此对象与指定对象的顺序。如果改对象小于、等于或大于制定对象,则分别返回负整数、0或正整数。

----------------------------------------------------------------------------

14.5 Map集合

Map中不能包含相同的key,每一个key只能映射一个valueKey还决定了存储对象在映射中的存储位置,但不是由key本身决定的,而是通过一种“散列技术”进行处理,产生一个散列码的整数值。散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合包括map接口以及map接口的所有实现类。Map允许值对象时null,没有个数限制

方法

功能描述

put(k key,v value)

向集合中添加指定的keyvalue的映射关系

containsKey(Object key)

如果此映射包含指定key的映射关系,则返回true

containsValue(Object value)

如果此映射将一个或多个key映射到指定值,则返回true

get(Object key)

如果存在指定的key对象,则返回该对象对应的值,否则null

keySet()

返回该集合中的所有key对象形成的Set集合

values()

返回该集合中所有值对象形成的Collection集合

要用map就用HashMap,如果需要顺序输出,在创建一个完全相同映射关系的TreeMap类实例就行了。

Map<String,String> map=new HashMap<>();

TreeMap<String,String> treemap=new TreeMap<>();

Treemap.putAll(map);

猜你喜欢

转载自blog.csdn.net/selfTranscendence/article/details/80884034
今日推荐