always_fly 发表于 2018-3-6 16:15:21

java-测试开发list基本操作

package java_test;
import java.util.List;
import java.util.ArrayList;

class listDemo{
    public void listAction(){
      List<String> list = new ArrayList<String>();//<>这里面只能接复合类型的数据,List<int>就会报编译错误
      list.add("a");//增加一个元素

      int len=list.size();//获取list的大小,即元素个数
      System.out.println(len);//输出为1

      String s=list.get(0);//获取list中的第一个值,是从0开始的,如果list的长度为而get(1)会报越界的异常
      System.out.println(s);//输入为a

      list.set(0,"b");//替换index为0的元素值
      System.out.println(list);//输出为

      boolean c=list.contains("a");//判断list中是否包含有元素a
      System.out.println(c);

      String a="adsadsa";
      System.out.println(a.contains("d"));//判断字符串a中是否包含子字符串“d”

      List<String> l1=new ArrayList<String>();
      l1.add("c");
      list.addAll(l1);//向list里面添加一个l1,可以理解为两个数组取并集,并将并集的结果复制给list
      System.out.println(list);//输出

      list.retainAll(l1);//取两个数组的交集,并将交集的结果复制给list
      System.out.println(list);//输出
      list.add("d");
      list.add("e");
      System.out.println(list);
      List<String> d=list.subList(0, 2);//从list中取一个子list,这里从0开始,到index位2的位置,但是不包含2
      System.out.println(d);//输出
    }
    public void loopList(){//列表循环
      List<Integer> list=new ArrayList<Integer>();
      list.add(3);
      list.add(2);
      list.add(1);
      for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
      }
      for(Integer i:list){
            System.out.println(i);
      }
    }
    public void listRemove(){
      List<Integer> list=new ArrayList<Integer>();
      list.add(1);
      list.add(2);
      list.add(1);
      /**
         * remove有两种形式,一种是按index删除,一种是按list中的值删除
         * 按index删除时,入参是int类型,按值删除时,入参是符合数据类型
         */
      Integer e=1;//事先定义好要删除的值和对象
      /**
         * Removes the first occurrence of the specified element from this lisr
         * api说明中强调了,在remove(Object o)时,是删除第一次出现的这个值
         */
      list.remove(e);
      System.out.println(list);//输出位

      int index=0;//定义要删除的index,也可以不事先定义,直接remove(1)。这个1会被默认为是int型的
      list.remove(index);
      System.out.println(list);//输出

      list.add(2);
      list.add(2);
      list.add(2);
      List<Integer> l1=new ArrayList<Integer>();
      l1.add(2);
      /**
         * remove是单个remove,如果我想把list中的元素2全部一次性的remove掉,就要用removeAll了
         * removeAll会把list中等于l1元素的元素全部删除
         * 也可以理解为是去list与l1的差集,并将差集的结果复制给list
         */
      list.removeAll(l1);
      System.out.println(list);//输出为1
    }

    public void loopRemoveList(){
      List<String> list=new ArrayList<String>();
      list.add("a");
      list.add("b");
      list.add("a");
      list.add("a");
      list.add("a");

      for(int i=0;i<list.size();i++){
            if(list.get(i).equals("a")){
                list.remove(list.get(i));
            }
      }

      System.out.println(list);

    }
}

public class arrayDemo {
    public static void main(String[] args) {
      listDemo l=new listDemo();
      l.listAction();
      l.loopList();
      l.listRemove();
      l.loopRemoveList();

    }
}

海海豚 发表于 2018-3-6 17:01:28

谢谢分享~
页: [1]
查看完整版本: java-测试开发list基本操作