java集合之List总结

主要验证一下List集合的常用操作:


  1. list中添加,获取,删除元素;
    添加方法是:.add(e);  获取方法是:.get(index);  删除方法是:.remove(index); 按照索引删除;  .remove(Object o); 按照元素内容删除;
List<String> person = new ArrayList<>();
        //增加删除测试完成
        person.add("jackie");   //索引为0  //.add(e)
        person.add("peter");    //索引为1
        person.add("annie");    //索引为2
        person.add("martin");   //索引为3
        person.add("marry");    //索引为4
        person.remove(3);   //.remove(index)
        person.remove("marry");     //.remove(Object o)

        String per = "";
        per = person.get(1);
        System.out.println(per);    ////.get(index)
        for (int i = 0; i < person.size(); i++) {
            System.out.println(person.get(i));  //.get(index)
        }
    }

结果如下:
在这里插入图片描述


  1. list中是否包含某个元素;
    方法:.contains(Object o); 返回true或者false
person.contains("peter")

  1. list中根据索引将元素数值改变(替换);
    注意 .set(index, element); 和 .add(index, element); 的不同;
    .add是在指定索引出插入元素,set是设置指定索引处元素值。
person.set(1,"hello");

下图展示了add前后元素的区别。
在这里插入图片描述


  1. list中查看(判断)元素的索引;
    注意:.indexOf(); 和 lastIndexOf()的不同;

  2. 根据元素索引位置进行的判断;


  1. 利用list中索引位置重新生成一个新的list(截取集合);
  方法: .subList(fromIndex, toIndex);  .size() ; 该方法得到list中的元素数的和

在这里插入图片描述

  1. 对比两个list中的所有元素;
    在这里插入图片描述

  2. 判断list是否为空;

if (person.isEmpty()) {
    System.out.println("空的");
}else {
    System.out.println("不是空的");
}
  1. 返回Iterator集合对象;
Iterator<String> it=person.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next());
        }

在这里插入图片描述
13. 将集合转换为字符串;
person.toString();

  1. 将集合转换为数组;
    System.out.println(“将集合转换为数组:”+person.toArray());
    在这里插入图片描述
  2. 集合类型转换;
//1.默认类型
List<Object> listsStrings=new ArrayList<>();
  for (int i = 0; i < person.size(); i++) {
    listsStrings.add(person.get(i));
}
//2.指定类型
List<StringBuffer> lst=new ArrayList<>();
  for(String string:person){
  lst.add(StringBuffer(string));
}
  1. 去重复
List<String> lst1=new ArrayList<>();
            lst1.add("aa");
            lst1.add("dd");
            lst1.add("ss");
            lst1.add("aa");
            lst1.add("ss");
 
                   //方法 1.
            for (int i = 0; i <lst1.size()-1; i++) {
                for (int j = lst1.size()-1; j >i; j--) {
                    if (lst1.get(j).equals(lst1.get(i))) {
                        lst1.remove(j);
                    }
                }
            }
            System.out.println(lst1);
             
                   //方法 2.
            List<String> lst2=new ArrayList<>();
            for (String s:lst1) {
                if (Collections.frequency(lst2, s)<1) {
                    lst2.add(s);
                }
            }
            System.out.println(lst2);