list与set

我们为什么要使用List和Set(List,Set详解)

1、集合概述


类图

这里写图片描述

集合和数组的区别?

这里写图片描述

集合基本方法

这里写图片描述

集合特有的遍历方式?
                public static void main(String[] args) {
                    //创建集合对象
                    Collection c = new ArrayList();

                    //创建并添加元素
                    c.add("hello");
                    c.add("world");
                    c.add("java");

                    //遍历集合
                    Iterator it = c.iterator();
                    while(it.hasNext()) {
                        String s =(String) it.next();
                        System.out.println(s);
                    }
                }

2、List和Set概述


List和Set区别?

这里写图片描述

3、List


List特点和实现类

这里写图片描述

有关线程安全的知识,参考http://blog.csdn.net/qq_34149805/article/details/64128499

有关链表的知识,参考http://blog.csdn.net/qq_34149805/article/details/67117288

4、Set


Set特点

Set具有与Collection完全一样的接口,因此没有任何额外的功能,不像前面有两个不同的List。实际上Set就是Collection,只 是行为不同。(这是继承与多态思想的典型应用:表现不同的行为。)Set不保存重复的元素(至于如何判断元素相同则较为负责)

Set 存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。加入Set的元素必须定义equals()方法以确保对象的唯一性。Set与Collection有完全一样的接口。Set接口不保证维护元素的次序。

Set实现类

这里写图片描述

5、总结


数据结构
ArrayXxx:底层数据结构是数组,查询快,增删慢

LinkedXxx:底层数据结构是链表,查询慢,增删快

HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals()

TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序
我们为何使用它们?

这里写图片描述

相关链接Java Map 超详细汇总

原文地址:https://www.cnblogs.com/ytc6/p/8471087.html