Java基础(5)集合的使用

Java基础(5)集合的使用

集合的使用

  集合是用来批量处理数据的工具,在Java编程中,我们最常见到的集合有:list、set、map。这几个集合分别拥有自己不同的特性,我们在使用中会根据不同的场景来选择用不同的集合来承装数据。其中 list、set 被称为单列集合,map因为存储方式为键值对形式,又被称为双列集合。他们同属于java.util包下。值得注意的是,集合里面,并不能使用基本类型而是应是对象。也即是说:

List<int> arrayList = new ArrayList<>();

会报如下错误:Syntax error, insert “Dimensions” to complete ReferenceType
我们想new一个承接数字类型的List的话,应该使用数字类型的封装类:

        List<Integer> arrayList = new ArrayList<>();

List

List的特点是栈进栈出,元素排列顺序取决于添加顺序,且元素可重复。
常用的List有 ArrayList、 LinkedList

        List<Integer> arrayList = new ArrayList<>();
        List<String> linkedList = new LinkedList<>();
        //或者
        
        List<Student> stuList=new ArrayList<>();

ArrayList、 LinkedList都是继承自List,而List继承自Collection;Collection提供了很多操作集合的方法,对于我们的开发有很大的帮助。
平时对于ArrayList和LinkedList里面的数据顺序,都是根据添加顺序确定的。但是由于两种list的添加数据方式不同,导致其访问速度有一些区别。就平常而言,选用这两个list都是,增删比较多的list使用LinkedList,读取比较多的选用ArrayList

Set

Set的特点是不重复。
常用的Set有HashSet和TreeSet;
HashSet 无序不重复,TreeSet 排序去重;
但是对于自定义类的时候,想要使用这两个特性,则需要进行相应的接口实现。
这篇博客写的比较详细,推荐大家去看看: https://blog.csdn.net/firearrow66/article/details/78858118

Map

Map是双列集合,每个元素都分为key与value,其中key是不重复的,如果重复添加同key键值对,那么之前的同key的value会被覆盖
而其中,key的类型建议使用基本类型的包装类,或者是String,若是一定想用自定义类的话,请重写其hashcode方法和equals方法,上面的set也是,Set对自定义对象进行去重得时候,也需要重写这两个方法。

Map<String, String> hashMap = new HashMap<>();
        hashMap.put("a", "啊");
        hashMap.put("b", "波");
        hashMap.put("c", "刺");
        System.out.println("hashMap取值:" + hashMap.get("a"));

HashMap的key与HashSet的特点一样,无序不重复。

猜你喜欢

转载自blog.csdn.net/moye666/article/details/92850518