JAVA读书笔记:集合

文章介绍了Java中的集合概念,强调了数组与集合的区别,特别是集合的动态扩展能力。ArrayList作为示例详细讲解了其创建、操作方法以及泛型的应用。Collections类的常用方法如增删改查也在文中提及。此外,迭代器作为遍历集合的重要工具,其接口和方法被简单介绍。最后,文章对比了List接口的实现类LinkedList和Vector,前者适合频繁增删操作,后者保证线程安全但效率较低。
摘要由CSDN通过智能技术生成

一、集合的概念

        集合是指集中存放一组对象的一个对象。集合相当于一个的容器,提供了保存、获取和操作其他元素的方法。

二、数组和集合的区别

        1.数组长度固定,一旦创建后不能发生变化;集合长度可变,根据添加的数据进行自动扩容。

        2.数组可以存储基本数据类型和引用数据类型;集合可以存引用数据类型,不过不能直接存基本数据类型,要将基本数据类型变成其对应的包装类才能存储。

三、集合的操作

61667b81e6844910bc93a7b99b8e9f7c.jpg

68e909370574442494f2fceefe4b65d1.jpg

四、ArrayList类

        1.创建集合的对象

        ArrayList<E> list = new ArrayList<E>();

        JDK7使用菱形语法,创建泛型类型仅用一对尖括号:ArrayList<E> list = new ArrayList<>();

       注意:

         <E>是泛型,限定集合中存储数据的类型;

        对list对象进行打印时,打印对象不是地址值,而是集合中存储数据内容,在打印输出时会拿[]把所有的数据进行包裹。

        2.ArrayList成员方法

        常用方法boolean add(E e)增、boolean remove(E e)\ E remove(int index)删、E set(int index,E e)改、查 E get(int index)\int size()。

        3.基本数据类型对应包装类

        

byteByte
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean

        Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性(没有成员变量和成员方法可以调用),因此,java为每种数据类型分别设计了对应的类,即包装类。

五、Collectons类

1.Collection集合概述和使用
1、Collection集合是单例集合,它是一组对象,这些对象也称为Collection的元素

2、JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现

创建Collection集合的对象:

1、多态的方式

2、具体的实现类ArrayList

2.Collections成员方法

常用方法

增:boolean add(E e);

        boolean addAll(Collection<? extends E> c);

删:boolean remove(Object o);

        boolean removeAll(Collection<?> c);

改:Collection Interface 里并没有直接改元素的操作,因为删和增就可以完成。

查:boolean contains(Object o);

        boolean containsAll(Collection<?> c);

集合整体的操作

判断集合是否为空:boolean isEmpty();
集合的大小:int size();
把集合转成数组:Object[] toArray();

3.Collections类的遍历
Iterator:迭代器,集合的专用遍历方式

1、Iterator<E>iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到

2、迭代器的通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的

Iterator中常用的方法

1、E next():返回迭代中的下一个元素

2、boolean hasNext():如果迭代具有更多元素,则返回ture

六、迭代器

        1.迭代器概念

        它是一种接口,用于遍历集合,集的元素。它位于集,集合每个元素的中间,通过移动迭代器其位置来遍历元素。集合,集(比集合更严格的一种)中都存在迭代器。

        2.Iterator接口的常用方法:

修饰语和类型方法描述
booleanhasNext()判断集合中还有没有可以被取出的元素,如果有返回true
Enext()取出集合中的下一个元素

七、List集合

        List集合特点:元素有序的,且可重复。(元素有序不是指,我们存进Lits集合中的什么1,3,7,6他给我们从小到大,或者从大到小这样子,所谓的有序是我们该集合有下标,下标从0开始,然后我们按照什么顺序增加到list集合的,那么他就是什么样子的顺序)。 

        List集合遍历:根据下标,foreach,迭代器遍历数据。

        Lits集合扩容:Lits集合当我们实例出来,它的默认初始容量为10,当往List集合里面增加的数据超过10个以后,他就会扩容增加0.5倍,扩容以后就是15。

        新容量 = 原容量 + 原容量 * 0.5

        注意:vector,ArrayList,LinkedList都是继承List,所以和Lits集合以上三点都是一样的。

八、LinkedList集合

1、LinkedList的概念

        LinkedList类是List接口的链表实现类。它支持实现所有的List接口可选的列表的操作
        并且允许元素值是任何数据类型,包括null。
        LinkedList集合底层数据结构为链式表;查询慢,增删快,线程不安全,效率高。

2、 LinkedList的常用方法:
方法                                                            说明
void addFirst(Object obj)            将指定元素插入到集合的首部
void addLast(Object obj)            将指定元素插入到集合的尾部
Object getFirst()                         获得集合中的第一个元素
Object getLast()                         获取集合中的最后一个元素
Object removeFirst()                  移除第一个元素
Object removeLast()                  移除最后一个元素

九、Vector集合

1、Vector特点
        有序的,可以存储重复值和null值。
        底层是数组实现的,线程安全。结构与ArrayList非常相似,同样是一个线性的动态可扩容数组。
        初始容量是10,没有设置扩容增量的情况下以自身的2倍容量扩容,可以设置容量增量,初始容量和扩容量可以通过构造函数public Vector(int initialCapacity, int capacityIncrement)进行初始化。

2、Vector的特有功能:

        public void addElement(Object obj)------->add(Object obj)

        public Enumeration elements():返回此向量的枚举--->相当于:public Iterator iterator()

        boolean hasMoreElements()  --->boolean hasNext() ;

        Object nextElement()    --->Object next() ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值