Java基础——集合类——简要概述及使用

集合类

概念:集合是容器,用以存储对象。

数组可以记录多个相同类型的基本类型数据,类可以记录多个类型不同不同的数据,而集合可以记录多个类型不同的对象的引用。

//数组可以记录多个相同类型的数据
int[] a = {1,2,3};
//类可以记录多个数据不同的数据
class A	{
	int b;
	String c;
}
//集合可以记录多个类型不同的对象
List<T> list = new ArrayList<>;
	list.add(1);
	list.add("String");
	A a = new A();
	list.add(a);

集合框架

整个集合框架围绕一组标准接口而设计,这些接口的标准实现类可以被我们使用。
请添加图片描述

集合

Collection接口

List集合(接口)

ArrayList实现类
LinkedList实现类

Set集合(接口)

HashSet实现类
TreeSet实现类

Map集合(接口)

HashMap实现类
TreeMap实现类

Collection接口

Collection接口是层次中的根接口,List接口和Set接口都继承了它,因此Collection的方法对于List和Set都是通用的
add(E e) 添加元素;
clear() 清空元素;
remove(E e) 移除元素;
size() 元素数量;

List集合

特点:有序,可以针对性的对元素进行操作;
可重复,通过equals()方法判断是由存在重复。
两个主要方法
get(int index,E e) 获取指定位置的元素;
set(int index,E e) 用元素替换指定位置的元素;

List 集合的实现类
ArrayList实现类

数据结构:数组
特点:查询快,增删慢,主要用于查询遍历数据,为最常用集合之一;
底层分析:数组结构是有序的元素序列,在内存中开辟一段连续的空间,在空间中存放元素,每个空间都有编号,通过编号可以快速找到相应元素,因此查询快;数组初始化时长度是固定的,要想增删元素,必须创建一个新数组,把源数组的元素复制进来,随后源数组销毁,耗时长,因此增删慢。

LinkedList实现类

数据结构:双向链表;
特点:查询慢,增删快;
底层分析:链表分为单向和双向,就是一条链子和两条链子的区别;多出的那条链子记录了元素的顺序,因此单向链表结构无序,双向链表结构有序;链表结构没有索引,因此查询慢;链表的增删只需在原有的基础上连上链子或切断链子,因此增删快。

//List集合的使用,以ArrayList为例
package Test;

import java.util.*;

public class Main {

    public static void main(String[] args) {
        // 创建集合
      	List  list =new ArrayList();
      	//向集合中添加元素
        list.add ("a");
        list.add("b");
        list.add(2);
        //将指定索引位置的元素从集合中移除
        list.remove(0);
        // 新建迭代器
        Iterator iterator= list.iterator();
        // 遍历集合
        while (iterator.hasNext())
        {
            Object obj=iterator.next();
            System.out.println(obj);
        }
    }
}
/*运行结果:
b
2
*/

List集合小结(感谢phial03的图片)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值