zoukankan      html  css  js  c++  java
  • 我们为什么要使用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);
                        }
                    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    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:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    我们为何使用它们?

    这里写图片描述

    相关链接Java Map 超详细汇总

  • 相关阅读:
    结构化系统开发和面向对象开发方法
    十五周总结
    第十四周总结
    第十三周总结
    分答
    第十周总结
    DFD
    判定表
    第八周总结
    开发方法对比
  • 原文地址:https://www.cnblogs.com/mabingxue/p/8758602.html
Copyright © 2011-2022 走看看