Collection接口,List(ArrayList集合,LinkedList集合),Set(HashSet集合,LinkedHashSet集合)

本文介绍了Java集合框架中的Collection接口,包括增删查改等核心方法。接着深入讲解了List接口及其两种实现:ArrayList和LinkedList,强调了它们的数据结构和特性。对于Set接口,讨论了HashSet和LinkedHashSet的区别,特别是LinkedHashSet的有序性。最后提到了Collections工具类的使用。
摘要由CSDN通过智能技术生成

迭代器,泛型,可变参数:

  1. 具体见链接: 迭代器,泛型,可变参数

Collection

集合概述:

  1. 集合作为容器用来存储,管理大量的对象(引用),这些集合内部用了不同的数据结构来存储元素,这些数据结构的不同导致了每种集合的增删改查效率不同。
  2. 内部存储的只能是“对象引用”,子类使用多态存储基本数据类型时,泛型需要使用他们对应的包装类。
    数据结构会另开一篇。
    Java常用集合体系:
    在这里插入图片描述

Collection接口的常用方法

由于Collection是一个接口,所以该类中全部都是抽象方法,调用时会使用多态(父类型引用指向子类型对象)。主要了解这些方法的作用。

增:

public boolean add(E e);//把给定的对象添加到集合中

删:

  1. public void clear();//清空集合中所有元素。
  2. public boolean remove(E e);//把给定的对象在集合中删除

改:【无】

查:

  1. public boolean contains(Object obj);//判断当前集合是否包含给定元素
  2. public boolean isEmpty();//判断集合是否为空
  3. public int size();//返回当前集合元素的个数。
  4. public Object[] toArray();//把集合中的元素储存在数组中。
  5. public Iterator iterator();//获取一个迭代器,用于遍历集合元素
代码演示:
package Collection集合的增删改查Test;

import java.util.ArrayList;
import java.util.Collection;

public class Demo01 {
   
    public static void main(String[] args) {
   
        //多态,父类型引用指向子类型对象

        Collection<String> list = new ArrayList<String>();
        //增:
        //调用子类ArrayList重写的add方法:向集合中添加元素
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        list.add("冯七");
        for (String s:list) {
   
            System.out.println(s);
        }
        //删:
        //clear()删除集合中所有元素:
        //list.clear();
        System.out.println(list.size());
        //remove(E e):将给定的元素在集合中删除。返回boolean值
        list.remove("张三");
        System.out.println("移除后元素有:");
        for(String s:list){
   
            System.out.println(s);
        }
        //改【无】
        //查:
        //contains(Object obj):查询给定元素是否存在集合中,返回boolean
        boolean boo = list.contains("李四");
        System.out.println(boo);
        //isEmpty():判断集合是否为空,返回boolean;
        boo = list.isEmpty();
        System.out.println(boo);
        //size()返回集合中元素的个数:
        int sum = list.size();
        System.out.println(sum);
        //toArray():把集合元素储存在数组中;返回一个Object[]数组
        Object[] obj = list.toArray();
        for (int i = 0; i <obj.length ; i++) {
   
            System.out.println(obj[i]);
        }
    }
}

List(接口)集合-继承Collection接口

List继承了Collection接口的方法

List集合的特点:
	1).有序的;
	2).可以存储重复元素;(不验证元素的重复性)
	3).可以通过索引访问;(因为有序的) 
	4).

新增方法:

  1. 增:public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
  2. 删:public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
  3. 改:public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
  4. 查:public E get(int index) :返回集合中指定位置的元素。
    共同特点是都带了“索引”的参数!

ArrayList集合:

  1. 底层是数组。
  2. 扩容机制:扩容后是原容量的1.5倍,初始容量为10.
  3. 没有新增方法。使用的都是List和Collection中的定义的方法
  4. 作用跟“数组”一样,作为“容器”,存储、管理大量的“对象(引用)”。
  5. 查询效率高,增删效率低
常用方法
1).增:
	1).public boolean add(E e):向集合添加一个元素。返回值:对于ArrayList,永远返回true。
	2).public void add(int index,E e):向集合的index位置插入元素e。
2).删:
	3). public boolean remove(Object o):从集合中移出参数o。删除成功返回true,否则返回false。
	4). public E remove(int index):从集合中移出index位置上的元素。
3).改:
	5).public E set(int index,E e):用e替换当前集合中index位置上的元素,将“被替换的元素返回”。
4).查:
	6). public E get(int index):获取index位置上的元素;
	7). public int size():获取集合大小。和get()方法结合,就可以对集合进行遍历了。
代码演示:

测试类

package com.itheima.demo02_ArrayList概述;

import java.util.ArrayList;

public class Demo02 {
   
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值