• LinkList和map


    linklist集合
    方法
    addFirst()
    addLast()
    getFirst()
    getLast()
    removeFirst()
    removeLast()
    isEmpty()空为true

    Vector集合
    addElement()等价于arraylist集合的add()
    elementAt()..........................................get()
    elements().............................................iterator()

    hasMoreElements()相当于hasNext()
    nextElement()相当于next


    Set接口
    不可以有重复元素
    HashSet()集合

    hash表数组和链表的集合
    调用add方法自动调用hashcode方法,计算hash值,如果没有,存进去,如果有,利用equals方法进行比较,如果内容相同,舍弃,不同则存进来。

    HashSet存储自定义元素
    重写equals方法和hashcode方法

    LinkedHashSet集合
    链表和哈希表的集合(双重链表)
    顺序取出

    Map接口
    HashMap<K,V>;
    LinkedHashMap<K,V>;
    可以通过键找到对应的值
    key不能重复,值可以重复
    方法:
    get(key):根据key取值
    put(key,值):
    remove(key);

    遍历方法1
    获取key的集合
    keySet();
    keySet()+增强for
    keySet()+Iterator
    遍历方法2
    Entry对象
    entrySet();返回Set<Mpa.Entry<K,V>>
    对象.getKey();获取key值
    对象.getValue();获取value值
    entrySet+增强for
    entrySet+Iterator

    package com.oracle.demo03;
    
    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.Set;
    
    public class Demo04 {
    public static void main(String[] args) {
    Map<String,Integer> map=new LinkedHashMap<String,Integer>();
    map.put("a",1);
    map.put("b",2);
    map.put("c",3);
    map.put("a",9);
    //    Set<String> str=map.keySet();
    //    Iterator<String> it=str.iterator();
    //    while(it.hasNext()){
    //    String key=it.next();
    //    int value=map.get(key);
    //    System.out.println(key+" "+value);
    //    }
    Set<Map.Entry<String,Integer>> set=map.entrySet();
    //    for(Map.Entry<String,Integer> entry:set){
    //    String key=entry.getKey();
    //    int value=entry.getValue();
    //    System.out.println(key+" "+value);
    //    
    //    }
    //获取迭代器对象
    Iterator<Map.Entry<String,Integer>> it=set.iterator();
    while(it.hasNext()){
    Map.Entry<String,Integer> entry=it.next();
    String key=entry.getKey();
    int value=entry.getValue();
    System.out.println(key+" "+value);
    }
    }
    }
    

      

  • 相关阅读:
    VS2017试用期到期后登录微软账户出现错误解决方法
    Unable to start process "dotnet-projectmodel-server" while starting VS2015 问题
    如何写.gitignore只包含指定的文件扩展名
    Win7 通过Smb共享CentOS文件步骤
    Linux下用sudo 命令时出现 is not in the sudoers file
    ubuntu下安装chorme浏览器
    qt for ios扫描二维码功能实现
    ubuntu14.04登陆后只显示桌面文件,快速启动栏不显示,终端不能打开
    编译 Qt with Openssl for IOS
    sql print原理
  • 原文地址:https://www.cnblogs.com/zqy6666/p/12256201.html
Copyright © 2020-2023  润新知