zoukankan      html  css  js  c++  java
  • 集合框架

    集合框架:(Java Collection Framework)
    一.集合特点:1.元素类型可以不同
    2.集合长度可变
    3.空间不固定
    集合也是对象,可以用new的方式
    二.集合包括Collection 和Map两大类:

    Collection 包括List和Set,而List又包括ArrayList和LinkedList,Vector;Set包括HashSet和SortSet(TreeSet)
    Map包括HashMap和TreeMap
    1.定义:
    List接口:指一列数据,以元素安插的数据的次序来放置元素,数据内容可以重复
    Set接口:指一列数据,数据内容不能重复,使用自己内部的一个排列机制放置元素
    Map接口:指一列数据,是在一种从键(Key)到值(Value)的对饮关系的集合,Key不能重复,Value可以重复
    2.List list=new ArrayList();或者List list=new LinkedList();
    ArrayList与LinkedList的区别:
    集合元素增加.删除不频繁时使用ArrayList,它适合查询;
    集合元素增加.删除频繁时使用LinkedList,链接列表的实现;
    3.List和Set共通的基本使用方法:
    list.add();---------增加元素
    list.size();---------查询长度
    list.get();---------查询元素
    list.remove();---------删除元素
    list.clear();---------删除全部元素
    list.add();---------增加元素
    Object[] d=treeset.toArray();--------转换为Object类型的数组

    4.LinkedList独有的常用方法:
    addFirst();------插入元素的开头
    addLast();------插入元素的结尾
    getFirst();------得到开头的元素
    getLast();------得到结尾的元素
    indexof();------返回数组下标
    Vector:与ArraayList相似,线程更安全,性能低于ArraayList
    5.泛型:(代表一种约束)
    --------------------------------------------
    List<String> list= new ArraayList<String>(); //表示实例化的集合是String类型的
    --------------------------------------------
    6.Iterator对Collection进行迭代的迭代器
    例如:
    Iterator it=list.Iterator()
    while(it.hasNext()){
    System.out.println(it.next());
    }
    7.Set:一个不包含重复元素的Collection,里面会自动排序
    HashSet 初始值为16,因子是0.75
    Set.Contains(1) //判断集合里有面有没有1这个元素
    ——————————————————————————-————
    List是有序的,Set是无序的 // 序指插入元素的顺序,与字典顺序无关。
    HashList速度快,不排序;TreeSet速度慢,排序 (指字典顺序)
    例如1:
    package com.lovo.test02;

    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;

    public class Test00 {
    public static void main(String[]args){
    HashSet<String> s=new HashSet<>();
    s.add("c");
    s.add("a");
    s.add("b");
    System.out.println(s.toString());
    System.out.println(s.size());
    Iterator ite = s.iterator();
    while(ite.hasNext()){
    System.out.println(ite.next());
    }
    }
    }
    例如2:
    package com.lovo.test02;

    import java.util.Iterator;
    import java.util.TreeSet;

    public class Test001 {
    public static void main(String[] args){
    TreeSet<String> treeset=new TreeSet<String>();
    treeset.add("asd");
    treeset.add("jdfsjh");
    treeset.add("hdasieiksa");
    Object[] d=treeset.toArray();
    System.out.println(d);
    Iterator <String>ss=treeset.iterator();
    while(ss.hasNext()){
    System.out.println(ss.next());
    }
    }
    }
    ——————————————————————————————
    8.Map<key,Value>
    Map中不允许出现相同的两个Key值
    常用方法:
    map.put(); --------- 添加元素
    map.keySet();---------返回一个Key值
    例如:
    package com.lovo.test02;

    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.TreeMap;
    public class MapTest {
    public static void main(String[] args) {
    Map<String,String> map=new TreeMap<>();
    map.put("cd", "成都");
    map.put("sh", "上海");
    map.put("bj", "北京");
    map.put("bj1", "beijing");
    System.out.println(map);
    System.out.println(map.hashCode());
    System.out.println(map.isEmpty());
    System.out.println(map.keySet());
    map.remove("sh");
    System.out.println(map);
    }
    }

  • 相关阅读:
    SQLServer 错误: 15404,维护计划无法执行
    Axis2 服务器端抛出ServiceClass object does not implement问题解决方法
    领域驱动设计 软件核心复杂性应对之道 读书笔记
    华为实施微服务架构的五大军规
    DDD领域驱动设计基本理论知识总结
    TransactionScope使用说明
    错误:该行已经属于另一个表
    SQL基础之 时间戳
    采用左右值编码来存储无限分级树形结构的数据库表设计
    违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条 解决办法
  • 原文地址:https://www.cnblogs.com/czg-123/p/5410822.html
Copyright © 2011-2022 走看看