Java基础22-集合类1(概况、List接口)

一、集合类概述

在java2(jdk1.2)之前,java是没有完整的集合框架的。它只有一些简单的可以扩展的容器类,比如vector,stack类等。

我们知道数组可以存储多个数据,既然数组可以存储多个数据,那为什么我们还需要集合类呢?

我们先来看一下数组的弊端:

1.长度是不可变的,一旦数组初始化之后,长度是固定的。

2.在N地方需要存储多个数据,得专门去编写数组的操作方法,如此以来,没有体现DRY原则,维护成本高。

3.即使每一个人都要使用到数组类,但是不同的人定义的类名和方法名是不同的,实现细节也是参差不齐的

所以SUN公司就自己定义好了容器类,每一个开发者只管调用即可。

(1)什么是集合框架?

集合类存放于java.util包中。

集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用

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

集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

(2)为什么需要集合框架?

1.功能的复用
2.专注于业务开发,而不是数据结构和算法(底层都对应着某一种数据结构和算法)

(3)常用集合类

set(集):集合中的对象不按特定方式排序,不允许元素重复
list(列表):集合中的对象,按照索引位置排序,允许元素重复
Map(映射):集合中每一个元素都包含一对key和value对象,不允许key对象重复,值对象可以重复

 主要有两个分支:Collection和Map

二、List集合

1. List接口特点:

①有序性,元素的存取都是有序的,所以它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素。

List允许存储项的值为空,也允许存储相等值的存储项

②重复性,可以存在重复的元素。

2.List接口中常用方法

(1)ArrayList类

ArrayList集合数据存储的结构是数组结构。

它的特点是:由于数据是存入数组中的,所以元素增删慢,查找快。

List<String> list = new ArrayList<String>();
//1,添加元素。
list.add("小红");
list.add("小梅");
list.add("小强");
//2,插入元素。插入元素前的集合["小红","小梅","小强"]
list.add(1, "老王"); //插入元素后的集合["小红","老王","小梅","小强"]
//3,删除元素。
list.remove(2);// 删除元素后的集合["小红","老王","小强"]
//4,修改元素。
list.set(1, "隔壁老王");// 修改元素后的集合["小红","隔壁老王","小强"]

(二)LinkedList

LinkedList集合数据存储的结构是链表结构。是一个双向链表

1.特点是:方便元素添加、删除的集合

2.特有方法是:

LinkedList<String> link = new LinkedList<String>();
        //添加元素
        link.addFirst("abc1");
        link.addFirst("abc2");
        link.addFirst("abc3");
        //获取元素
        System.out.println(link.getFirst());
        System.out.println(link.getLast());
        //删除元素
        System.out.println(link.removeFirst());
        System.out.println(link.removeLast());

猜你喜欢

转载自www.cnblogs.com/LuckyGJX/p/9099445.html