List接口,ArrayListLinkedList
Posted lkkkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List接口,ArrayListLinkedList相关的知识,希望对你有一定的参考价值。
/*List接口概述(java.util.list) 1.有序的 collection(也称为序列)。存放和取出的顺序一样的,有下标 * 2.可以有重复的元素 * * ArrayList(实现类): * 1.底层数据结构是数组,查询快,增删慢(就是顺序存储的特点) * * * */ public class Demo1 { public static void main(String[] args) { //创建List对象 List list1 = new ArrayList(); //ArrayList list1 = new ArrayList();这样也不会报错,说明list和ArrayList一样 list1.add("java"); list1.add("c++"); list1.add("123"); //遍历 Iterator i1 = list1.iterator(); while (i1.hasNext()) { System.out.println(i1.next()); } //List特有的方法 //1.void add(int index,E element)将指定元素添加到指定下标处,下标从0开始 list1.add(0, "php"); System.out.println(list1); //2.E remove(int index)移除指定位置的元素,移除成功返回被移除的元素 //移除失败会报错,超出范围 System.out.println(list1.remove(0)); //3.E get(int index)获取指定位置的元素 System.out.println(list1.get(0)); //4.E set(int index,E element)修改指定位置的元素内容,超出范围报错 list1.set(0, "lkkk"); System.out.println(list1); //5.ListIterator listIterator() 迭代器,对list集合进行遍历 ListIterator l1 = list1.listIterator(); while (l1.hasNext()) { System.out.print(l1.next()+" "); }System.out.println(" "); //逆序遍历 //☆☆☆☆☆☆☆☆☆☆ 该表的指针为单向指针 ☆☆☆☆☆☆☆☆☆☆ //boolean hasPrevious()判断是否有上一个元素,如果有返回true,没有返回false // E previous() 获取上一个元素 while (l1.hasPrevious()) { System.out.print(l1.previous()+" "); } } }
/*linkList * 链式存储的链表(链式存储的特点) * 1.增删快,查询慢 * * */ public class Demo2 { public static void main(String[] args) { //LinkedList类特有功能 LinkedList ll = new LinkedList(); ll.add("java"); ll.add("c++"); ll.add("123"); System.out.println(ll); //public void addFirst(E e)及addLast(E e)在头部插入元素或在尾部插入元素 ll.addFirst("lk"); ll.addLast("kl"); System.out.println(ll); //public E getFirst()及getLast()获取头部元素或尾部元素 System.out.println(" 第一个元素"+ll.getFirst()); System.out.println(" 最后一个元素"+ll.getLast()); //public E removeFirst()及public E removeLast()删除头部元素或尾部元素 //删除会有返回值,删除成功返回删除的元素 System.out.println(ll.removeFirst()); ll.removeLast(); System.out.println(ll); } }
以上是关于List接口,ArrayListLinkedList的主要内容,如果未能解决你的问题,请参考以下文章