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

  • 相关阅读:
    sql server 中 bit 字段的 查询方法
    C# 4.0新特性"协变"与"逆变"以及背后的编程思想
    marginleft是做边距,是宽度 left是定位盒子左上角左边位置的一个点
    什么是企业库 怎么使用企业库 企业库的好处 企业库的目标
    SQL各种Join用法(Full,Left,Out,Inner)
    JavaScript计算两个文本框内数据的乘积(四舍五入保留两位小数)
    SQL VIEW(视图)
    Sql ISNULL() 函数
    left join 和 left outer join 有什么区别
    18个不常见的C#关键字,您使用过几个?
  • 原文地址:https://www.cnblogs.com/54ljj/p/5409414.html
Copyright © 2011-2022 走看看