java基础-Java集合框架-Collection子接口-List接口方法

14 篇文章 0 订阅

Java集合框架-Collection子接口之一-List接口方法

  • List除了从Collection集合继承的方法外,List集合里添加了一些根据索引来操作集合元素的方法

    • Collcetion下的方法:

    • 方法名说明
      add(E e)确保此集合包含指定的元素(可选操作)
      addAll(Collection<? extends E> c)将指定集合中的所有元素添加到这个集合中
      clear()移除集合中的所有元素
      contains(Object o)判断集合是否包含Object o元素,true-包含 ;false-不包含
      containsAll(Collection<?> c)判断集合是否包含Collection<?> c集合,true-包含;false-不包含
      equals(Object o)将指定对象与集合比较,比较二者是否相等
      hashCode()返回集合的哈希值
      isEmpty()判断集合是否为空,true-空;false-非空
      Iterator iterator()返回集合的元素迭代器
      remove(Object o)如果元素在集合中存在,从集合中移除指定元素的实例。
      removeAll(Collection<?> c)把指定集合Collection<?> c中的所有元素从集合中删除
      retainAll(Collection<?> c)在集合中留下指定集合Collection<?> c中的所有元素(取交集)
      size()返回此集合中的元素的数目。
      toArray()返回包含此集合中所有元素的数组。
      toArray(T[] a)返回包含此集合中所有元素的数组;返回数组的运行时类型是指定的数组的运行时类型。
    • List添加的方法

      • void add(int index,Object ele):在Indext位置插入ele元素
      • boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进来
      • Object get(int index):获取指定index位置的元素
      • int indexOf(Object obj):返回obj在集合中首次出现的位置
      • int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置
      • Object remove(int index):移除指定index位置的元素,并返回此元素
      • Object set(int index,Object ele):设置指定index位置的元素为ele,返回被替换的元素
      • List subList(inde fromIndex,int toIndex):返回从fromIndex到toIndex位置的子集合,原集合不变
    • package com.jl.java.base.collection;
      
      import org.junit.Test;
      
      import java.util.ArrayList;
      import java.util.Date;
      
      /**
       * - void add(int index,Object ele):在Indext位置插入ele元素
       * - boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进来
       * - Object get(int index):获取指定index位置的元素
       * - int indexOf(Object obj):返回obj在集合中首次出现的位置
       * - int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置
       * - Object remove(int index):移除指定index位置的元素,并返回次元素
       * - Object set(int index,Object ele):设置指定index位置的元素为ele
       * - List subList(inde fromIndex,int toIndex):返回从fromIndex到toIndex位置的子集合
       * @author jiangl
       * @version 1.0
       * @date 2021/4/22 13:15
       */
      public class ListTest {
          @Test
          public void ArrayListTest(){
              ArrayList list = new ArrayList();
              list.add(123);
              list.add(456);
              list.add("AA");
              list.add(new Date());
      
              System.out.println(list);
      
              //void add(int index,Object ele):在Indext位置插入ele元素
              list.add(2,"BB");
              System.out.println(list);
      
              //boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进来
              ArrayList list2 = new ArrayList();
              list2.add("CC");
              list2.add(789);
              list.addAll(4,list2);//[123, 456, AA, Thu Apr 22 16:40:37 CST 2021]
              System.out.println(list);//[123, 456, BB, AA, Thu Apr 22 16:40:37 CST 2021]
      
              //Object get(int index):获取指定index位置的元素
              System.out.println(list.get(6));//Thu Apr 22 16:40:37 CST 2021
      
              //int indexOf(Object obj):返回obj在集合中首次出现的位置
              System.out.println(list.indexOf(789));//5
              System.out.println(list.indexOf(78119));//不存在则为-1
      
              //int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位
              System.out.println(list.lastIndexOf(789));//5
      
              //Object remove(int index):移除指定index位置的元素,并返回次元素
              System.out.println(list.remove(2));//BB
              System.out.println(list);//[123, 456, AA, CC, 789, Thu Apr 22 16:42:06 CST 2021]
      
              //Object set(int index,Object ele):设置指定index位置的元素为ele
              System.out.println(list.set(2, 4567));//返回被替换的元素
              System.out.println(list);//[123, 4567, AA, CC, 789, Thu Apr 22 16:42:06 CST 2021]
      
      
              System.out.println(list.subList(2,4));//[4567, CC]
              System.out.println(list);//[123, 4567, AA, CC, 789, Thu Apr 22 16:42:06 CST 2021]
          }
      }
      
    • 结果:

      • [123, 456, AA, Thu Apr 22 16:45:00 CST 2021]
        [123, 456, BB, AA, Thu Apr 22 16:45:00 CST 2021]
        [123, 456, BB, AA, CC, 789, Thu Apr 22 16:45:00 CST 2021]
        Thu Apr 22 16:45:00 CST 2021
        5
        -1
        5
        BB
        [123, 456, AA, CC, 789, Thu Apr 22 16:45:00 CST 2021]
        AA
        [123, 456, 4567, CC, 789, Thu Apr 22 16:45:00 CST 2021]
        [4567, CC]
        [123, 456, 4567, CC, 789, Thu Apr 22 16:45:00 CST 2021]
  • List接口方法的总结:

    • 增:add(Object o)
    • 删:remove(int index)/remove(object obj)
    • 改:set(int index,Object ele)
    • 查:get(int index)
    • 插入:add(int index,Object ele)
    • 长度:size()
    • 遍历:
      • Iterator迭代器方式
      • 增强for循环
      • 普通循环-利用索引
  • 遍历

    • @Test
      public void test2(){
          ArrayList list = new ArrayList();
          list.add(123);
          list.add(456);
          list.add("AA");
          list.add(new Date());
      
          System.out.println(list);
          //方法一
          Iterator iterator = list.iterator();
          while(iterator.hasNext()){
              System.out.println(iterator.next());
          }
          
          //方法二 增强for循环
          for(Object o : list){
              System.out.println(o);
          }
          
          //方法三 普通for循环
          for(int i=0;i<=list.size()-1;i++){
              System.out.println(list.get(i));
          }
      }
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值