java 集合之实现类ArrayList和LinkedList的方法

List 的方法列表

方法名 功能说明
ArrayList() 构造方法,用于创建一个空的数组列表
add(E e) 将指定的元素添加到此列表的尾部
get(int index) 返回此列表中指定位置上的元素
size() 返回此列表中的元素数
clear() 移除此列表中的所有元素
isEmpty() 如果此列表中没有元素,则返回true
remove(int index) 移除此列表中指定位置上的元素
indextof(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回-1
toArray 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组

下面将用一个简单的例子进行说明:

实现类ArrayList

package yjlblog;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {

 public static void main(String[] args) {
  List list = new ArrayList();//List 是接口,用多态需要指向它的实现类
  list.add("double kill");
  list.add("three kill");
  list.add("four kill");
  list.add("pentakill");
  System.out.println(list); //[double kill, three kill, four kill, pentakill]
        //默认调用的是tostring 方法,但是这个头string方法不是object里面的,可以查帮助文档可知,是继承的collection的一个方法
  System.out.println(list.get(2)); //four kill
  String s = (String)list.get(2);//如果用定义变量的形式来表示的话,需要用到强制类型的转换,因为list。get()方法是object的类里的
  System.out.println(list.isEmpty());
  //false
  //list.clear();
  //System.out.println(list.isEmpty());
  //true
  //System.out.println(list.remove(2));//输出制定索引的 被“删除的元素”
  list.remove(1);//删除索引为“1” 的元素
  System.out.println(list);//[double kill, four kill, pentakill],删除了索引为“1”的元素
  System.out.println(list.indexOf("double kill"));//0 输出所指明字符串的 “索引值”

  System.out.println(list.size());// 3 ,返回数组的长度

  Object[] obj = list.toArray();
  System.out.println(obj.length);
  //数组的遍历 for 循环
  for (int i = 0;i < list.size();i++)
  {
   System.out.print(list.get(i)+" ");

  }
  System.out.println();
  //使用for each 语句
  for (Object x:list)
  {
   System.out.print(x+" ");
  }
  System.out.println();
  //使用迭代器
  //1.先获得list集合的迭代器
  Iterator iterator = list.iterator();
  //2.通过它的hasNest方法,判断是否遍历完成,用循环实现
  while (iterator.hasNext() == true)
  {
  //3.使用next方法,去除它的下一个元素
   System.out.print(iterator.next()+" ");

  }
  System.out.println();

 }

}
//再写上迭代器的说明
//加上arraylist 和 linbkedlist的区别 和代码
//加上后面的几个方法

实现类LinkedList

List 接口的链接列表实现,实现所有可选的列表操作,并且允许所有元素(包括null)。除了实现List接口外,LinkedList类还为在列表的开头及结尾get,remove,insert元素提供了统一的命名方法。这些操作允许将链表列表表应作堆栈、队列、或双端队列。

LinkedList的部分方法

方法名 功能说明
addFirst(E e) 将指定元素插入此列表的开头
addLast(E e) 将指定元素添加到此列表的结尾
removeFirst() 移除并返回此列表的第一个元素
removeLast() 移除并返回此列表的最后一个元素
getFirst() 返回此列表中的第一个元素
getLast() 返回此列表中的最后一个元素
package yjlblog;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {

 public static void main(String[] args) {
  List list = new LinkedList();//List 是接口,用多态需要指向它的实现类
  list.add("double kill");
  list.add("three kill");
  list.add("four kill");
  list.add("pentakill");
  System.out.println(list); //[double kill, three kill, four kill, pentakill]
  //和ArrayList 的其他方法都是一样的,只是加了一些方法

集合的遍历

从上面的例子中也有所提及,下面看代码

使用for 循环

使用for -each 循环

使用Iterator(迭代器)接口

每个集合类都提供了iterator方法以返回一个迭代器,通过这个迭代器,可以完成集合的遍历或删除操作,迭代器的使用步骤如下:

****

1.通过Iterator方法获得集合的迭代器

2.通过调用hasNext 方法判断是否存在下一个元素

3.使用next方法,去除它的下一个元素

//数组的遍历 for 循环
for (int i = 0;i < list.size();i++)
{
 System.out.print(list.get(i)+" ");

}
System.out.println();
//使用for each 语句
for (Object x:list)
{
 System.out.print(x+" ");
}
System.out.println();
//使用迭代器
//1.先获得list集合的迭代器
Iterator iterator = list.iterator();
//2.通过它的hasNest方法,判断是否遍历完成,用循环实现
while (iterator.hasNext() == true)
{
//3.使用next方法,去除它的下一个元素
 System.out.print(iterator.next()+" ");

}
System.out.println();

以上这篇java 集合之实现类ArrayList和LinkedList的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java中ArrayList 、LinkList的区别分析

    1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList优于LinkedList,因为ArrayList可以随机定位,而LinkedList要移动指针一步一步的移动到节点处.(参考数组与链表来思考)     3.对于新增和删除操作add和remove,LinedList比较占优势,只需要对指针进行修改即可,而ArrayList要移动数据来填补被删除的对象的空间. ArrayList和LinkedL

  • Java中ArrayList和LinkedList之间的区别_动力节点Java学院整理

    一.ArrayList ArrayList是一个可以处理变长数组的类型,这里不局限于"数"组,ArrayList是一个泛型类,可以存放任意类型的对象.顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的,因为Object是一切类型的父类,因而ArrayList内部是有一个Object类型的数组类存放对象.ArrayList类常用的方法有add().clear().get().indexOf().remove().sort().toArray().toStri

  • JAVA LinkedList和ArrayList的使用及性能分析

    第1部分 List概括List的框架图List 是一个接口,它继承于Collection的接口.它代表着有序的队列.AbstractList 是一个抽象类,它继承于AbstractCollection.AbstractList实现List接口中除size().get(int location)之外的函数.AbstractSequentialList 是一个抽象类,它继承于AbstractList.AbstractSequentialList 实现了"链表中,根据index索引值操作链表的全部函数

  • Java中ArrayList和LinkedList的遍历与性能分析

    前言 通过本文你可以了解List的五种遍历方式及各自性能和foreach及Iterator的实现,加深对ArrayList和LinkedList实现的了解.下面来一起看看吧. 一.List的五种遍历方式 1.for each循环 List<Integer> list = new ArrayList<Integer>(); for (Integer j : list) { // use j } 2.显示调用集合迭代器 List<Integer> list = new Ar

  • java 集合之实现类ArrayList和LinkedList的方法

    List 的方法列表 方法名 功能说明 ArrayList() 构造方法,用于创建一个空的数组列表 add(E e) 将指定的元素添加到此列表的尾部 get(int index) 返回此列表中指定位置上的元素 size() 返回此列表中的元素数 clear() 移除此列表中的所有元素 isEmpty() 如果此列表中没有元素,则返回true remove(int index) 移除此列表中指定位置上的元素 indextof(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不

  • java集合Collection实现类解析ArrayList LinkedList及Vector

    目录 前言 java集合Collection List实现类 Set实现类 代码实例 前言 平时开发经常会用到List等集合操作,在这里做一个小结 java集合Collection java里面集合分为两大类:List和Set,下面是类图信息 List实现类 List的实现类ArrayList,LinkedList,Vector的特性 /** * 有序集合List接口的实现类LinkedLIst,ArrayList,Vector,Stack *(1)ArrayList是最常用的List实现类,内

  • java集合Collection实现类解析ArrayList LinkedList及Vector

    目录 前言 java集合Collection List实现类 Set实现类 代码实例 前言 平时开发经常会用到List等集合操作,在这里做一个小结 java集合Collection java里面集合分为两大类:List和Set,下面是类图信息 List实现类 List的实现类ArrayList,LinkedList,Vector的特性 有序集合List接口的实现类LinkedLIst,ArrayList,Vector,Stack (1)ArrayList是最常用的List实现类,内部是通过数组实

  • Java集合框架之List ArrayList LinkedList使用详解刨析

    目录 1. List 1.1 List 的常见方法 1.2 代码示例 2. ArrayList 2.1 介绍 2.2 ArrayList 的构造方法 2.3 ArrayList 底层数组的大小 3. LinkedList 3.1 介绍 3.2 LinkedList 的构造方法 4. 练习题 5. 扑克牌小游戏 1. List 1.1 List 的常见方法 方法 描述 boolean add(E e) 尾插 e void add(int index, E element) 将 e 插入到 inde

  • Java面试岗常见问题之ArrayList和LinkedList的区别

    目录 1.ArrayList和LinkedList是什么? 2.ArrayList和LinkedList性能比较 1.插入效率比较 2.查询效率比较 3.删除效率比较 4.实验总结 3.面试标准回答 1.ArrayList和LinkedList是什么? 在我看来,要想搞清楚ArrayList和LinkedList有什么区别,首先一定得要知道这两个东西到底是什么.因为在我看来,通常拿来被比较有区别的东西,它们大体上一定存在很多相似的地方.为了剖析本质,我们直接看看它们的源码声明. Arraylis

  • Java 集合中的类关于线程安全

    Java集合中那些类是线程安全的 线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用.在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的. statck:堆栈类,先进后出 hashtable:就比hashmap多了个线程安全 enumeration:枚举,相当于迭代器

  • Java集合Set、List、Map的遍历方法

    本文实例讲述了Java集合Set.List.Map的遍历方法,分享给大家供大家参考. 具体方法如下: package com.shellway.javase; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.uti

  • JAVA集合框架工具类自定义Collections集合方法

    项目中有需要多次统计 某些集合中 的某个属性值,所以考虑封装一个方法,让其其定义实现计算方式. 话不多说,看代码: 1.封装的自定义集合工具类:CollectionsCustom package com.test.util; import java.util.Collection; import org.apache.commons.collections.CollectionUtils; /** * 自定义集合处理类 */ public class CollectionsCustom { /*

  • Java中通过Class类获取Class对象的方法详解

    前言 本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 阅读API的Class类得知,Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的 获取Class对象的三种方式(实例采用Person类) 方式1:通过Object类的getObject()方法 Person p = new Person(); Class c

  • Java中ArrayList和LinkedList区别

    目录 1 前言 2 数据结构的区别 2.1 ArrayList 2.2 LinkedList 2.3 使用场景 3 源码分析 3.1 ArrayList核心源码 3.2 LinkedList核心源码 4 码农来洞见 4.1为什么ArrayList比LinkedList要快 4.2 注意ArrayList不同JDK版本源码 4.3 高并发下如何保证集合数据的同步 4.4 为什么Java的Vector类被认为是过时的或者废弃的 1 前言 许多语言,例如 Perl ,Python 和 Ruby ,都有

随机推荐