Java之集合框架 List接口的特有方法、迭代器的并发修改异常以及LinkedList特有方法
2018-03-17 10:02
936 查看
测试类-ListDemo.java:
package com.xiao.list; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import org.junit.Test; /** * @author 笑笑 * @Date 2018年2月8日上午11:03:45 * */ public class ListDemo { // void add(int index, E element) 根据索引插入元素 @Test public void test1(){ List<String> list = new ArrayList<String>(); list.add("abc"); list.add("abc"); list.add("abc"); list.add("abc"); System.out.println(list); list.add(1, "cde"); //根据索引插入元素,索引上原有的数据往后顺延 System.out.println(list); } // E get(int index) 返回集合中指定位置的元素 @Test public void test2(){ List<String> list = new ArrayList<String>(); list.add("abc"); list.add("abc"); list.add("abc"); list.add("abc"); String a = list.get(2); //根据索引取元素 System.out.println(a); } // E remove(int index) 移除指定位置上的元素,返回移除的元素 @Test public void test3(){ List<String> list = new ArrayList<String>(); list.add("abc"); list.add("cde"); list.add("fff"); list.add("ggg"); String remove = list.remove(1); //移除指定位置的元素 返回移除的元素 System.out.println(remove); System.out.println(list); } // E set(int index, E element) 修改指定位置的元素 返回修改之前的元素 @Test public void test4(){ List<String> list = new ArrayList<String>(); list.add("abc"); list.add("cde"); list.add("fff"); list.add("ggg"); String set = list.set(1, "123"); //修改指定位置的元素 返回修改之前的元素 System.out.println(set); System.out.println(list); } //迭代器的并发修改异常 @Test public void test5(){ List<String> list = new ArrayList<String>(); list.add("abc"); list.add("cde"); list.add("fff"); list.add("ggg"); Iterator<String> iterator = list.iterator(); while(iterator.hasNext()){ String string = iterator.next(); if(string.equals("fff")){ list.add("ccc"); //如果取出来的元素等于fff 就添加一个ccc 这样会出现并发修改异常 } System.out.println(list); } } //LinkedList的特性 //void addFirst(E e) 在列表的开头添加元素 //void addLast(E e) 在列表的结尾添加元素 // E getFirst() 获取链表的第一个元素 // E getLast() 获取链表的第一个元素 // E removeFirst 移除并返回此列表的第一个元素 // E removeLast 移除并返回此列表的最后一个元素 @Test public void test6(){ LinkedList<String> list = new LinkedList<>(); list.add("abc"); list.addFirst("ced"); //在列表的开头添加元素 list.addLast("ccc"); //在列表的结尾添加元素 System.out.println(list); if(list.isEmpty()){ //如果链表为空 则不能取元素 String first = list.getFirst(); //获取链表的第一个元素 String last = list.getLast(); //获取链表的第一个元素 System.out.println(first); System.out.println(last); } } }
相关文章推荐
- Java基础知识强化之集合框架笔记19:List集合迭代器使用之 并发修改异常的产生原因 以及 解决方案
- Java基础 集合框架 共性方法 迭代器 ArrayList LinkedList Vector HashSet TreeSet
- Java中list接口的方法和list接口的实现类LinkedList,Vecotr以及队列和栈结构
- linkedlist中使用迭代器出现并发修改异常,ConcurrentModificationException异常
- JAVA基础再回首(十四)——集合框架、Collection接口、迭代器Iterator、List接口、ListIterator列表迭代器
- javaoop集合框架——List接口的常用方法
- Java——集合框架之ArrayList,LinkedList,迭代器Iterator
- Java基础知识强化之集合框架笔记18:List集合特有的ListIterator迭代器
- Java基础知识强化之集合框架笔记26:LinkedList的特有功能
- java学习日记_78:集合框架之List特有迭代器的使用
- Java集合迭代器之fail-fast机制: 关于java集合的遍历以及ConcurrentModificationException(并发操作异常)
- 集合框架1(Collection的共性方法,迭代器,ArrayList,LinkedList,Vector)
- Java Iterator ListIterator 迭代器 以及 并发修改异常 ConcurrentModificationException
- 集合框架-----LinkedList中的一些特有方法
- Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
- 15 API-集合(Collection(功能,迭代器),List(List特有迭代器,并发异常),常见数据结构图示(栈,队列,数组,链表))&对象数组
- java语言基础(66)——集合框架(arrayList ConcurrentModificationException 并发修改异常的解决方案)
- Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
- java 集合 之 链表和线性表以及ArrayList的各方法的介绍及示例 及 ArrayList与LinkedList的区别分析 及 ArrayList与Array(数组)的区别
- 黑马程序员:Java基础——集合框架之体系概述、共性方法与迭代器