首页 > 其他 > 详细

集合---单列集合Collection

时间:2020-08-08 21:21:16      阅读:135      评论:0      收藏:0      [点我收藏+]

集合和数组的区别

  1. 数组可以存任何数据类型,集合只能存引用数据类型
  2. 如果集合想存基本数据类型,泛型中要定义它们的包装类。
  3. 数组的长度不可变,集合的长度可变

集合的体系结构

技术分享图片

 

 Collection集合

  1. 是单列集合的顶层接口
  2. 它提供更具体的子接口List和Set实现

Collection接口中提供的常用方法方法:

 

1  Collection<String> collection = new ArrayList<>();
2         collection.add("aaa");//向集合中添加元素
3         boolean b = collection.remove("aaa");//删除集合中的元素并返回布尔型结果true表示删除成功,false表示删除失败
4         int size = collection.size();//返回集合已存数据的个数
5         boolean b1 = collection.removeIf((String s) -> {
6            return s.length()==2;
7         });//根据条件删除元素
8         boolean result = collection.contains("aaa");//判断集合中是否有指定元素
9         collection.clear();//清除集合内所有元素

Iterator迭代器(集合特有)

  1. 单列集合可以直接使用迭代器
  2. 创建一个迭代器对象:Iterator<String> it = list.iterator();默认指向集合第一个索引
  3. boolean hasNext(); 判断集合索引处是否含有元素
  4. next(); 取出索引处元素,并将迭代器指向集合的索引位置向下推进一次
    public static void main(String[] args) {
          ArrayList<String> list=new ArrayList<>();
          list.add("sss");
          list.add("sss");
          list.add("sss");
          list.add("sss");
          list.add("sss");
          list.add("sss");
          list.add("sss");
            Iterator<String> it = list.iterator();
            while (it.hasNext()){
                String s = it.next();
                System.out.println(s);
    
    
            }

增强for

  • 格式:for(Object o:集合或数组名){o就是从集合或数组中的每一个第三方中间变量,可对其进行操作但修改不会改变原集合或者数组}
  • 实现Iterable接口的类才可以使用迭代器和增强for(单列集合Collection实现了Iterable,双列集合Map没有实现)
  • 在迭代器中不能通过集合对象增删元素,不然会发生并发错误

下面先讲单列集合:

List(有序,有索引,可重复)

list集合的常用方法:

  1.    public static void main(String[] args) {
    List<String> list=new ArrayList<>();//多态形式,只能有List中的方法
            list.add("aaa");//
            list.add("aaa");
            list.add("aaa");
            list.add("aaa");
            list.add("aaa");
            list.add(3,"ooo");//在制定索引增加元素
            String s1 = list.get(0);//在制定索引获得制定索引元素
            String remove = list.remove(1);//删除指定索引元素
            String s3 = list.set(0, "nnn");//设置指定索引元素
    
    
        }

     

ArrayList(底层是数组查询快,增删慢)

 

1.Arraylist第的底层结构是数组,在ArrayList创建对象的时候,默认长度是0,也就是空集合,但是在add();方法执行后会把集合长度变为10,所以我们一般认为ArrayList集合的默认长度是10,当添加的元素的格式超过10的时候,会自动创建一个新的集合,长度为原来集合的1.5倍,然后把原来集合的所有数据全部赋值给新的集合。

2.size

size是集合创建时的底层变量,它的默认值是0,当每次使用add();方法向集合中添加元素的时候,size就会+1;指向下一个将要被添加元素的索引,所以size也可以理解为集合中当前拥有的元素个数。

LinkedList

1.LinkedList(底层结构是链表,查询慢,增删快)

  public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.addFirst("aaa");//添加元素到头部
        list.add("sss");
        list.addLast("zzz");//添加元素到尾部
        list.removeFirst();//删除头部元素
        list.removeLast();//删除尾部元素
        list.getFirst();//获得头部元素
        list.getLast();//获得尾部元素


    }

 

集合---单列集合Collection

原文:https://www.cnblogs.com/ZYH-coder0927/p/13459987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!