广州青菜篮农业有限公司网站建设项目,给网站可以怎么做外链,平面设计是做什么的啊,百度品牌广告多少钱List接口
要了解List接口#xff0c;就不得不说起Java的集合框架。 #xff08;该图来自菜鸟教程#xff09;
Collection接口和Map接口
Java 集合框架主要包括两种类型的容器#xff0c;集合Collection和图Map。
Collection接口代表了单列集合#xff0c;它包含了一组…List接口
要了解List接口就不得不说起Java的集合框架。 该图来自菜鸟教程
Collection接口和Map接口
Java 集合框架主要包括两种类型的容器集合Collection和图Map。
Collection接口代表了单列集合它包含了一组Object元素每个元素都有一个值。 这里有个“泛型擦除”的概念在此不提及有兴趣可自行了解Map接口代表了双列集合它包含了一组键值对每个键值对包含两个值一个是键一个是对应的值。
List
Collection 接口又有 3 种子类型List、Set 和 Queue。
List 接口存储一组不唯一有序插入顺序的对象。 不唯一允许存储重复的元素。有序可以精准控制元素添加的位置因此可以根据索引访问元素。实现类有ArrayList,LinkedList,Vector 。 Set 接口存储一组唯一无序的对象。 唯一元素不允许重复。无序没有定义顺序元素的存储顺序可能与添加顺序不同。 Queue接口一个先进先出FIFO的集合通常用于模拟队列数据结构。
静态数组
概念
是一种线性数据结构。将相同类型的元素存储在连续的内存空间中。
初始化
java中两种创建静态数组的形式如下 int[] array new int[5]; // { 0, 0, 0, 0, 0 } int[] iarray { 1, 2, 3, 5, 4 }; 第一行代码创建了一个名叫array的数组长度大小为5并且数组的长度大小不能改变。注释的意思是java会自动给数组内的元素赋值为默认值即int型的默认值0。 第二行代码创建了一个名叫iarray的数组长度大小为5并且长度大小也无法改变且编写者主动赋值为一到五的数字。
ArrayList类 概念和性质
ArrayList 继承了 AbstractList类 并实现了 List 接口。 (AbstractList是List接口的抽象实现类它继承自AbstractCollection类并实现了List接口中的方法。)ArrayList基于动态数组实现内部使用一个数组来存储元素当数组容量不足时会进行扩容操作通常创建一个新的更大的数组并将原数组的元素复制到新数组中。插入删除性能 倘若在末尾进行插入和删除操作的性能较好但若在中间或开头进行插入删除操作时需要移动后续元素性能较差。 随机访问性能支持通过索引进行快速的随机访问效率较快。
使用
初始化
ArrayList初始化的基本格式如下
import java.util.ArrayList; // 引入 ArrayList 类ArrayListElemType objectName new ArrayList(); // 初始化ElemType是数组中对象元素的引用类型数据objectName是数组名字。 注意注意下文中的Element是ElemType引用类型的基本类型。 因为实际ArrayList中的元素是对象所以需要引用类型 String可以像使用基本类型一样但实际是引用类型
基本类型引用类型booleanBooleanbyteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacter
例如
import java.util.ArrayList; ArrayListInteger arrayList new ArrayList(); 避免繁琐后边的代码例子中引入 ArrayList 类就不写了。
add() 添加元素
ArrayListElemType objectName new ArrayList();
objectName.add(ElemType e);
objectName.add(InterPre i, ElemType e);可以看到add函数有两种添加方法
直接在数组的末尾添加元素e在索引 i 前面添加元素e 如
ArrayListInteger arrayList new ArrayList();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(0,6);
for(int i : arrayList) System.out.print(i );//这里的for循环迭代是依次得到数组中的元素后边会讲
//输出6 1 2 3 remove() 删除元素
ArrayListElemType objectName new ArrayList();
objectName.remove(index i);作用删除索引为 i 上的元素如
ArrayListInteger arrayList new ArrayList();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.remove(2);
for(int i : arrayList) System.out.print(i );
//输出1 2get() 访问元素
ArrayListElemType objectName new ArrayList();
objectName.get(index i);作用返回索引为i处上的元素如
ArrayListInteger arrayList new ArrayList();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
System.out.println(arrayList.get(2));
//输出3set() 修改元素
ArrayListElemType objectName new ArrayList();
objectName.set(index i, ElemType e);作用将索引为 i 上的元素修改为 e如
ArrayListInteger arrayList new ArrayList();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.set(1,6);
for(int i : arrayList) System.out.print(i );
//输出1 6 3size() 元素数量
int ArrayLength arrayList.size();作用**返回数组的长度**赋值给ArrayLenth。如
ArrayListInteger arrayList new ArrayList();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
System.out.println(arrayList.size());
//输出3其余函数
下面就不给出示例代码和输出结果啦太多了但是会给出基本格式和用法。
ArrayListElemType arraylist new ArrayList();void arraylist.clear() 删除arraylist 中的所有元素 boolean arraylist.contains(ElemType e) 判断元素e是否在arraylist中如果在返回true否则返回false int arraylist.indexOf(ElemType e) 返回元素e在arraylist中的索引 若重复出现返回最先的索引值若不存在返回-1。 boolean arraylist.isEmpty() 判断arraylist是否为空为空返回true否则返回false void arraylist.removeAll() 作用与arraylist.clear()相同但是arraylist.clear()时间更快。 void arraylist.sort() 将数组排序使用方法这里略过后面详细说明。 Elem[] arraylist.toArray(Elem[] num) 将arraylist转化为数组赋给num数组的元素类型为同引用类型的基本类型。 String arraylist.toString()将arraylist转化为String类型返回。
迭代数组列表
第一种通过普通for循环迭代依次输出arraylist中的元素。
ArrayListElemType arraylist new ArrayList();
/*
......
(赋值操作
*/
for (int i 0; i arraylist.size(); i) System.out.println(arraylist.get(i));第二种通过for-each迭代依次输出arraylist中的元素也就是上文给出的方式。
ArrayListElemType arraylist new ArrayList();
/*
......
(赋值操作
*/
for (Element e : arraylist) System.out.println(e);注意Element是ElemType引用类型的基本类型。
ArrayList排序
借助Collections 类
import java.util.Collections; // 引入 Collections 类Collections.sort(arraylist);注意Collections.sort(是升序排序从小到大。
本身的sort() 方法
arraylist.sort(Comparator c)Comparator c 的意思是排序方式分别为升序和降序。
升序参数为 Comparator.naturalOrder()降序参数为 Comparator.reverseOrder() 注意要使用这两个参数需要引入Comparator类。 实例如下
import java.util.Comparator;arraylist.sort( Comparator.naturalOrder()) ;
//得到数组升序排序的结果从小到大
arraylist.sort( Comparator.reverseOrder());
//得到数组降序排序的结果从大到小