java集合

数组

需要开辟连续的内存单元,查询的效率高,插入的效率低

链表

单向链表:链表存的时候不需要连续的内存单元,分散的内存单元然后利用head,和last,再通过每个点指定的next来找到下一个点的内存单元位置

双线链表:不止记录next下一个点的位置,还记录了上一个点的位置prev,可以双向查询

优点:插入效率高

缺点:查询的效率比较低

 

索引

综合以上两种的优缺点,连续空间的数组用来存寻找真实存放对象的引用地址

 

 list的使用

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Coll {
    public static void main(String[] args) {
        Collection collection=new ArrayList();
        //添加元素
        collection.add("大便");
        collection.add("饭");
        collection.add("水果");
        System.out.println(collection.size());
        System.out.println(collection);
        //遍历
        for(Object object:collection){
            System.out.println(object);
        }
        //第二种遍历方法
        Iterator iterator=collection.iterator();  //获取迭代器
        while (iterator.hasNext()){    //获取迭代器的迭代次数
            System.out.println(String.valueOf(iterator.next()));  //打印
        }   //迭代器删除用iterator.remove()
        //删除元素
        collection.remove("水果");
        System.out.println(collection);
        //判断
        System.out.println(collection.contains("水果"));
        //清空
        collection.clear();
        System.out.println(collection);
    }
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

public class Coll {
    public static void main(String[] args) {
        List list=new ArrayList();
        //添加元素
        list.add("大便");
        list.add("饭");
        list.add("水果");
        System.out.println(list.size());
        System.out.println(list);
//        //遍历
        for(Object object:list){
            System.out.println(object);
        }
        //第二种遍历方法
        Iterator iterator=list.iterator();  //获取迭代器
        while (iterator.hasNext()){    //获取迭代器的迭代次数
            System.out.println(String.valueOf(iterator.next()));  //打印
        }   //迭代器删除用iterator.remove()
        //第三种遍历方法
        for(int i=0;i<3;i++){
            System.out.println(list.get(i));  //list.get(i)根据列表的角标来获取元素
        }
        //删除元素
        list.remove("水果");
        System.out.println(list);
        //判断
        System.out.println(list.contains("大便"));
//        //清空
//        collection.clear();
//        System.out.println(collection);
    }
}

 

posted @ 2021-03-06 22:53  克莱比-Kirby  阅读(66)  评论(0)    收藏  举报