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的更多相关文章

  1. Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及区别

    本篇博客主要讲解List接口的三个实现类ArrayList.LinkedList.Vector的使用方法以及三者之间的区别. 1. ArrayList使用 ArrayList是List接口最常用的实现 ...

  2. java集合的实现细节--ArrayList和LinkedList

     ArrayList和LinkedList的实现差异 List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表,ArrayList底层采用动态数组的形式保存每一个集合元素,Link ...

  3. java——集合、泛型、ArrayList、LinkedList、foreach循环、模拟ktv点歌系统

    集合:一系列特殊的类,这些类可以存储任意类型的对象,长度可变,集合类都在java.util包中. 但是集合记不住对象的类型,当把对象从集合中取出时这个对象的编译类型就变成了Object类型.这样在取元 ...

  4. java集合【12】——— ArrayList,LinkedList,Vector的相同点与区别是什么?

    目录 特性列举 底层存储结构不同 线程安全性不同 默认的大小不同 扩容机制 迭代器 增删改查的效率 总结一下 要想回答这个问题,可以先把各种都讲特性,然后再从底层存储结构,线程安全,默认大小,扩容机制 ...

  5. java集合框架collection(2)ArrayList和LinkedList

    ArrayList是基于动态数组实现的list,而LinkedList是基于链表实现的list.所以,ArrayList拥有着数组的特性,LinkedList拥有着链表的特性. 优缺点 ArrayLi ...

  6. Java 集合:List(ArrayList,LinkedList)

  7. Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

    概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Ja ...

  8. 【转】Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

    概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Ja ...

  9. java基础解析系列(十)---ArrayList和LinkedList源码及使用分析

    java基础解析系列(十)---ArrayList和LinkedList源码及使用分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder jav ...

随机推荐

  1. 201521123026 《Java程序设计》第一周学习总结

    1. 本章学习总结 1.简要了解JAVA的发展史以及其特点(面向对象.跨平台性,健壮性,安全性,可移植性,多线程性,动态性等) 2.认识JAVA三大平台(Java SE,Java EE,JavaME) ...

  2. Emacs操作指南

  3. PHP字符串常用操作

    常用操作有: PHP中有两个内建的函数:count() 和sizeof(),可以实现得到数组的长度 count($sttr);数组长度 字符串长度:strlen(string $a); 判断是否相同, ...

  4. Ajax跨域问题的出现和解决

    什么是跨域? 1).请求是执行过去了,但是响应的数据拿不到 2).浏览器有一个安全限制叫同源策略(针对ajax请求): 从http://localhost:80/member/apply.html页面 ...

  5. Bootstrap栅格系统用法--Bootstrap基础

    1.栅格系统实现布局的原理 1)Bootstrap把屏幕的宽度拆分成12格(列),每一格像素的多少由设备屏幕分辨率决定,我们在开发项目的过程中不需要去指定像素或者百分比. 2)不同范围的分辨率对应不同 ...

  6. bootStrap事例代码

    最近在学bootStrap,在慕课网中有这么一个例子-.感觉以后会用到这些代码.保存起来. <!DOCTYPE html> <html lang="zh-cn"& ...

  7. jpa 多对多关系的实现注解形式

    1, 表结构 1)设备表 VTM_DEVICE_INFO create table VTM_DEVICE_INFO ( ID INTEGER not null, SN ) not null, STAT ...

  8. c#中的格式输出

    Reference:http://blog.csdn.net/fightfaith/article/details/48137235

  9. GCD之死锁

    GCD相当好用,但用不好就会死锁,始终要记着这样一句秘籍: 不要在串行队列放dispatch_sync.dispatch_apply 下面看几个例子 1 2 3 4 5 6 7 8 9 10 11 1 ...

  10. 3.bootstrap-组件

    1.图标 <button type="button" class="btn btn-default"> <span class="g ...