51Testing软件测试论坛

标题: java-测试开发list基本操作 [打印本页]

作者: always_fly    时间: 2018-3-6 16:15
标题: java-测试开发list基本操作
  1. package java_test;
  2. import java.util.List;
  3. import java.util.ArrayList;

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

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

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

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

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

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

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

  22.         list.retainAll(l1);//取两个数组的交集,并将交集的结果复制给list
  23.         System.out.println(list);//输出[c]
  24.         list.add("d");
  25.         list.add("e");
  26.         System.out.println(list);
  27.         List<String> d=list.subList(0, 2);//从list中取一个子list,这里从0开始,到index位2的位置,但是不包含2
  28.         System.out.println(d);//输出[c,d]
  29.     }
  30.     public void loopList(){//列表循环
  31.         List<Integer> list=new ArrayList<Integer>();
  32.         list.add(3);
  33.         list.add(2);
  34.         list.add(1);
  35.         for(int i=0;i<list.size();i++){
  36.             System.out.println(list.get(i));
  37.         }
  38.         for(Integer i:list){
  39.             System.out.println(i);
  40.         }
  41.     }
  42.     public void listRemove(){
  43.         List<Integer> list=new ArrayList<Integer>();
  44.         list.add(1);
  45.         list.add(2);
  46.         list.add(1);
  47.         /**
  48.          * remove有两种形式,一种是按index删除,一种是按list中的值删除
  49.          * 按index删除时,入参是int类型,按值删除时,入参是符合数据类型
  50.          */
  51.         Integer e=1;//事先定义好要删除的值和对象
  52.         /**
  53.          * Removes the first occurrence of the specified element from this lisr
  54.          * api说明中强调了,在remove(Object o)时,是删除第一次出现的这个值
  55.          */
  56.         list.remove(e);
  57.         System.out.println(list);//输出位[2,1]

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

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

  74.     public void loopRemoveList(){
  75.         List<String> list=new ArrayList<String>();
  76.         list.add("a");
  77.         list.add("b");
  78.         list.add("a");
  79.         list.add("a");
  80.         list.add("a");

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

  86.         System.out.println(list);

  87.     }
  88. }

  89. public class arrayDemo {
  90.     public static void main(String[] args) {
  91.         listDemo l=new listDemo();
  92.         l.listAction();
  93.         l.loopList();
  94.         l.listRemove();
  95.         l.loopRemoveList();

  96.     }
  97. }
复制代码



作者: 海海豚    时间: 2018-3-6 17:01
谢谢分享~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2