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排序(严格按照字母排序),运行速度慢

  • 相关阅读:
    php 计算两点地理坐标的距离
    objective-c中#import和@class的差别
    我与小娜(07):量子通信的奥
    OpenStack部署到Hadoop的四种方案
    iOS UI13_数据解析XML_,JSON
    Redis集群
    《AndroidStudio有用指南》反馈问题和建议
    numpy函数库中一些经常使用函数的记录
    1015 history grep |mysql
    php 生成压缩文件
  • 原文地址:https://www.cnblogs.com/54ljj/p/5409414.html
Copyright © 2011-2022 走看看