LinkedLIst集合

java.util.List接口extends Collection接口
List接口特点:1、有序的集合,存储元素的顺序时一致的()存储的是123取出的是123
2、有索引,包含了一些带索引的方法
3、允许存储重复单元
List接口中带索引的特有方法:
public void add(int index, E element)
public E get (int index);返回集合中指定元素。
public E remove (int index):移除表格中元素,返回的是移除的元素
public E set (int index,E element);用指定元素替换集合中指定元素位置,返回值的更新前元素
注意:操作索引时一定要防止索引越界异常

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class demoList {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        System.out.println(list);//由于被重写toString,所以打印出来的不是地址而是字符串
        list.add(2,"lizhao");
        System.out.println(list);
        String A=list.remove(1);//移除了列表中指定字符串,返回的是被移除元素
        System.out.println("被移除元素"+A);
        System.out.println(list);
        //把最后一个d替换为a
        String B=list .set(3,"A");
        System.out.println("被替换的元素"+B);
        System.out.println(list);
        for(int i=0;i<list.size();i++){
            String a=list.get(i);// public E get (int index);返回集合中指定元素。
            System.out.println(a);
        }
        //使用迭代器来遍历
        Iterator<String> it=list.iterator();//<String>必须填入String,否则String a=it.next()会报错
        while (it.hasNext()){
            String a=it.next();
            System.out.println(a);
        }
        //含可以使用增强for循环
        for(String s: list){
            System.out.println(s);
        }
    }
}

LinkedList集合

java.util.LinkedList集合implements List接口
LinkedList集合特点:
1、底层是一个链表结构:查询慢,增删快
2、里边包含了大量操作首尾元素的方法
注意:使用LinkedList集合特有的方法,不能使用多态
public void addFirst(E e):将指定元素插入此列表开头。
public void addLast(E e);将指定元素添加到此列表的结尾
public void push(E e):将元素推入此列表所表示的堆栈。
public E getFirst()返回此列表的第一个元素
public E getLast();返回此列表的最后一个元素
public E removeFirst():移除并返回此列表的第一个元素。
public E removeLast():移除并返回此列表的最后一个元素
public E pop():从此列表所表示的堆栈出弹出一个元素
public boolean isEmpty():如果列表不含有元素,则返回true

import java.util.LinkedList;
public class demoLinkedList {
    public static void main(String[] args) {
        show();
      /*public E getFirst()返回此列表的第一个元素
        public E getLast();返回此列表的最后一个元素*/
    }
    public static void show(){
        /*public void addFirst(E e):将指定元素插入此列表开头。
        public void addLast(E e);将指定元素添加到此列表的结尾
        public void push(E e):将元素推入此列表所表示的堆栈。*/
        LinkedList <String> linked=new LinkedList<>();
        linked.add("a");
        linked.add("b");
        linked.add("c");
        System.out.println(linked);
        linked.addFirst("wwww");
        linked.addLast("mmmm");
        linked.push("rrrr");
        System.out.println(linked);
        String a= linked.getFirst();
        System.out.println(a);
        String b= linked.getLast();
        System.out.println(b);
        LinkedList<String> linked2=new LinkedList<>();
        linked2.add("a");
        linked2.add("b");
        linked2.add("c");
        System.out.println(linked2);
        String a=linked2.removeFirst();
        String b=linked2.removeLast();
        Systme.Out.println("移除弟弟一个元素是:"+a+"移除的最后一个元素是:"+b)
        System.out.println(linked2);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值