zoukankan      html  css  js  c++  java
  • 集合框架(JCF/Java Collection Framework)

    集合的特点:
    1、数据的类型可以不同
    2、集合长度可变
    3、空间不固定
    集合也是对象,用于检索,存储以及传输对象
    集合框架的组成
    Collection接口和Map接口

    Collection是Set接口和List接口的父接口

    List与Set的区别
    List允许数据的重复Set不允许数据重复

    泛型:指的是对存储数据集合的一种约束(在定义类、接口时指定数据类型的形式参数)<数据类型>

    泛型和迭代器的例子:

    package com.wode.test;

    import java.util.Iterator;
    import java.util.LinkedList;

    import com.sun.org.apache.bcel.internal.generic.POP;

    public class Test1 {
    public static void main(String[] args) {
    LinkedList<String> linkedList = new LinkedList<String>();//<> 泛型
    linkedList.add("zhangsan");
    linkedList.add("lisi");
    Iterator<String> iterator = linkedList.iterator();// 迭代器
    while (iterator.hasNext()) {
    System.out.println(iterator.next());
    }
    }
    }

    对元素的遍历
    foreach循环和迭代器Iterator

    foreach
    以输出学生对象为例:

    for (Student stu1 : list) {
    System.out.println(stu1);
    }

    迭代器Iterator
    Iterator<泛型> it = list.iterator();
    while (it.hasNext()) {
    System.out.println(it.next()):
    }
    }


    List接口: 一列数据内容,内容可重复,不排序/有序的(怎么样进去,怎么样出来)
    ArrayList实现类(顺序存储) LinkedList实现类(双向链表存储)
    ArrayList类的常用方法 LinkedList类的常用方法
    add()插入一个元素到列尾 add()插入一个元素到列尾
    size()查看数列长度 size()查看数列长度
    get()获取一个元素 get()获取一个元素
    set()修改元素 set()修改元素
    remove()删除一个元素 remove()删除一个元素
    toArray()将数列转化为数组 toArray()将数列转化为数组
    clear()清空数列 clear()清空数列
    addfrist()插入元素至列头
    addlast()插入元素至列尾
    removefrist()删除第一个元素
    removelast()删除最后一个元素
    pop()弹出第一个元素、等价于removefrist()

    List接口的vetcor实现类:vrtcor和Arraylist相似,它线程安全,但是性能比较低,一般不用

    ArrayList和LinkedList的适用
    ArrayLis在对数据频繁的增加和删除时不适用,最适合进行查询,修改操作
    LinkedList在对数据频繁的增加和删除时适用

    set接口 : 一列数据内容,内容不可重复,按照内部机制进行排序/无序的(按照哈希值排序)
    HashSet类和TreeSet 常用方法与ArrayLis相似
    区别
    HashSet不排序(对元素进行排序),运行速度快
    TreeSet排序(严格按照字母排序),运行速度慢

    Map接口(键值对/ key value)通过key键找valu值
    HashMap和TreeMap类常用方法与ArrayLis相似
    区别
    HashMap不排序(对元素进行排序),运行速度快
    TreeMap排序(严格按照字母排序),运行速度慢

  • 相关阅读:
    aws-lambda之异步实现文件的下载上传
    aws实例部署flask报错script-timed-out-before-returning-headers-application-py
    aws上部署scrapy,出现 Out of Memory,内存溢出
    在线UserAgent,爬虫UA
    ubuntu10.24 下安装 unixODBC coreseek4.1 手记
    ubuntu12.04 安装 python2.6
    coreseek/sphinx CentOS6.4下安装
    Elasticsearch 6.2.3 崩溃经历
    (转)梳理在线教育的几大金矿
    kangaroo-open 开源在线公开课平台
  • 原文地址:https://www.cnblogs.com/54ljj/p/5409414.html
Copyright © 2011-2022 走看看