List 的主要实现类:ArrayList

由于存储的是有序可重复的元素,List 接口增加了几个方法

注意:所有执行过程中需要“比较”的方法(比如 int indexOf(Object o)需要比较元素 o 与当前位置的元素是否相同)都要调用 equals( ) 方法,所以一定要注意重写 equals( ) 方法

  1. public class Testlist {
  2. public static void main(String[] args) {
  3. // 1.void add(int index , E element):
  4. // 在指定的index位置插入E类型元素element,index及之后的元素依次往后挪一位
  5. List list1 = new ArrayList();
  6. list1.add(1);
  7. list1.add(3);
  8. list1.add(4);
  9. System.out.println(list1);// [1, 3, 4]
  10. list1.add(1, 2);
  11. System.out.println(list1);// [1, 2, 3, 4]
  12. // 2.E get(int index):获取指定位置的元素
  13. System.out.println(list1.get(0));// 1
  14. // 3.boolean addAll(int index,Collection c):
  15. // 在指定的index位置插入集合c,若原集合改变,返回true
  16. List list2 = new ArrayList();
  17. list2.add(-1);
  18. list2.add(0);
  19. System.out.println(list1.addAll(0, list2));// true
  20. System.out.println(list1);// [-1, 0, 1, 2, 3, 4]
  21. // 4.E remove(int index):删除指定的index位置的元素,index及之后的元素依次往前顶一位,返回该位置被删除的元素
  22. System.out.println(list1.remove(0));// -1
  23. System.out.println(list1);// [0, 1, 2, 3, 4]
  24. // 5.E set(int index,E element):把指定的index位置的元素设为element(替换),返回该位置被替换的元素
  25. System.out.println(list1.set(0, "start"));// 0
  26. System.out.println(list1);// [start, 1, 2, 3, 4]
  27. // 6.int indexOf(Object o):返回指定对象o首次出现在该集合时的位置,若集合中没有该元素则返回-1
  28. list1.add(1);
  29. System.out.println(list1);// [start, 1, 2, 3, 4, 1]
  30. System.out.println(list1.indexOf(1));// 1
  31. System.out.println(list1.indexOf(5));// -1
  32. // 7.int lastIndexOf(Object o):返回指定对象o最后一次出现在该集合时的位置,若集合中没有该元素则返回-1
  33. System.out.println(list1.lastIndexOf(1));// 5
  34. System.out.println(list1.lastIndexOf(5));// -1
  35. System.out.println(list1.indexOf(3) == list1.lastIndexOf(3));// true
  36. // 8.List subList(int fromIndex,int toIndex):
  37. // 返回集合中从fromIndex位置开始,到toIndex位置结束的一个左闭右开的“子集”
  38. List subList1 = list1.subList(0, 2);
  39. System.out.println(subList1);// [start, 1]
  40. }
  41. }
时间: 2024-10-12 16:47:19

List 的主要实现类:ArrayList的相关文章

java学习笔记--类ArrayList和LinkedList的实现

在集合Collection下的List中有两个实现使用的很频繁,一个是ArrayList,另一个是LinkedList,在学习中肯定都会有这样的疑问:什么时候适合使用ArrayList,什么时候用LinkedList?这时,我们就需要了解ArrayList和LinkedList的底层的实现,下面,为了更好的了解它们具体是怎样实现的,我们来写自己的ArrayList 和LinkedList. ArrayList底层是基于数组实现的,数组在内存中是存储在连续的存储单元中,在数据查找的时候比较快,适用

JavaSE入门学习35:Java集合框架之List接口及其实现类ArrayList和LinkedList

一List接口概述 List接口是Collection接口的子接口,实现List接口的集合类中的元素是有顺序的,而且可以重复,被称为序列. List集合中的元素都对应一个整数型的序列容器中的序号记载其在容器中的位置,可以根据序号存取容器中的元 素.List接口可以精确的控制每个元素的插入位置,或者删除某个位置元素. Java所提供的List集合实现类类有ArrayList实现类.LinkedList实现类.Vector等,我们主要使用的是ArrayList实 现类和LinkedList实现类.

java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制.移动.代价比较高.因此,它

一天一个类--ArrayList之二

继续我的小激动--- 1.看看构造一个ArrayList 有两种方式 一个指定大小,一个不指定.我们知道他其实使用数组来实现了,数组肯定要有大小,那么他没指定大小,默认的是多少呢???追踪源码---开启万里追踪模式--- /** * Constructs an empty list with an initial capacity of ten. */ public ArrayList() { this(10); } 知道了,就是10--. 2.还有一个通过现有的集合类来实现构造.怎么实现的啊?

一天一个类--ArrayList之一

今天开始打算将JDK7种的一些类的源码分析一下,笔者认为了解源码就是了解其实现过程,这是非常重要的,而不是简单的记住方法的使用,关键是了解其思想和目的这才是重要的.所以笔者决定首先将从一些容器下手.[好欺负^_^] 位于顶层的是Collection,这个是一个接口,就是“祖宗”啊- 具体介绍可以参见API 常见的方法: boolean add(E e) Ensures that this collection contains the specified element (optional op

Random类&ArrayList集合学习

基础题目 第一题:需求实现 随机验证码. 随机生成十组六位字符组成的验证码. 验证码由大小写字母.数字字符组成. 代码实现,效果如图所示: 开发提示: 使用字符数组保存原始字符,利用Random类生成随机索引. 参考答案: public class Test1 { public static void main(String[] args) { for (int i = 0; i < 10; i++) { String s = verifyCode(); System.out.println(&qu

类ArrayList

什么是ArrayList类 java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素.此类提供一些方法来操作内部存储 的元素. ArrayList 中可不断添加元素,其大小也自动增长. ArrayList使用步骤 查看类 java.util.ArrayList<E> :该类需要 import导入使后使用. <E>,表示一种指定的数据类型,叫做泛型. E ,取自Element(元素)的首字母.在出现 E 的地方,我们使用一种引用数据类型将其替换即可. 查

类ArrayList(集合)

ArrayList类简介 java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素.此类提供一些方法来操作内部存储的元素. ArrayList 中可不断添加元素,其大小也自动增长.ArrayList对象不能存储基本类型,只能存储引用类型的数据. ArrayList使用步骤 查看类 java.util.ArrayList<E> :该类需要 import导入使后使用. <E>,表示一种指定的数据类型,叫做泛型. E ,取自Element(元素)的首字母.在

list 接口与实现类arraylist 区别

ArrayList list = new ArrayList(); List<String> list = new ArrayList<String>(); 第一种形式用当前类作为引用类型,那么可以访问到ArrayList这个类中的所有公用方法.第二种形式,用ArrayList实现的接口List作为引用类型,那么通过list引用可以访问到接口中定义的方法.也就是说ArrayList这个类实现了List接口,除了要必须实现接口List中声明的方法外,还可以实现额外的一些方法.但是,第

C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)

1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在ArrayList中主要使用Add.Remove.RemoveAt.Insert四个方法对栈进行操作.Add方法用于将对象添加到 ArrayList 的结尾处:Remove方法用于从 ArrayList 中移除特定对象的第一个匹配项:RemoveAt方法用于移除 ArrayList 的指定索引处的元素:Insert方法用于将元素插入 ArrayList 的指定索引处. 示例 ArrayList的使用 示例将介