标签:move set abc src 分享图片 TE 实现 功能 list集合
一、集合类概述
在java2(jdk1.2)之前,java是没有完整的集合框架的。它只有一些简单的可以扩展的容器类,比如vector,stack类等。
我们知道数组可以存储多个数据,既然数组可以存储多个数据,那为什么我们还需要集合类呢?
我们先来看一下数组的弊端:
1.长度是不可变的,一旦数组初始化之后,长度是固定的。
2.在N地方需要存储多个数据,得专门去编写数组的操作方法,如此以来,没有体现DRY原则,维护成本高。
3.即使每一个人都要使用到数组类,但是不同的人定义的类名和方法名是不同的,实现细节也是参差不齐的
所以SUN公司就自己定义好了容器类,每一个开发者只管调用即可。
(1)什么是集合框架?
集合类存放于java.util包中。
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。
(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());
标签:move set abc src 分享图片 TE 实现 功能 list集合
原文地址:https://www.cnblogs.com/LuckyGJX/p/9099445.html