List接口,ArrayList、LinkedList

/*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);
  }
}

猜你喜欢

转载自www.cnblogs.com/lkkkk/p/12195926.html