zoukankan      html  css  js  c++  java
  • 梳理11--集合 list、map、set、迭代器

    1. list  ArrayList和LinkedList

    ListTest

    2. map

    <key,value>

    数据结构很重要

    HashMap    用到了hash算法

    (1)“aaa”.harshCode() 算的一个值:123456         

            123456%16  

    (2) 

    (3) 连超过8个,会生成红黑树

    //HashMap遍历,背
            for (Map.Entry entry :map.entrySet()){
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            }

    hash是无序的,key不可排序,但是存进去会乱序。

    但是TreeMap可以排序,且是自动排序

    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author sr
     * @date 2021/1/18
     */
    public class MapTest {
        public static void main(String[] args) {
            Map<String,User> map = new HashMap<>();
            map.put("yeye",new User("sr","123"));
            map.put("erzi",new User("mc","123"));
    
            System.out.println(map.get("yeye"));
    
            //HashMap遍历,背
            for (Map.Entry entry :map.entrySet()){
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            }
    
            
        }
    }
    MapTest

    3. set

    HashSet  无序    不可重复 

    for (Integer i: set){
                System.out.println(i);
            }

    4. 迭代器Iterator

    (1)list

    //list2.iterator().var
            Iterator<User> iterator = list2.iterator();
            while (iterator.hasNext()){
                User next = iterator.next();
                System.out.println(next);
            }
    List<Integer> list = new LinkedList<>();
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            list.add(4);
            list.add(5);
    
            //把4全部删除
            Iterator<Integer> iterator = list.iterator();
            while(iterator.hasNext()){
                Integer next = iterator.next();
                if (next == 4){
                    iterator.remove();
                }
            }
    //把4全部删除
            list.removeIf(next -> next == 4);

    (2)set同上

    (3)map特殊,map里面存的是一个一个的节点

    //map.entrySet().iterator.var  
        
    Iterator<Map.Entry<String, User>> iterator = map.entrySet().iterator();
    while (iterator.hasNext()){
    //iterator.next().var
    Map.Entry<String, User> next = iterator.next();
    System.out.println(next.getValue());
       System.out.println(next.getKey());

    }
  • 相关阅读:
    监控mysql的存储引擎
    基于复制的高可用
    No orientation specified, and the default is
    iOS 图标、图形尺寸? iPhone、iPad、 iPod touch
    cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)
    loaded some nib but the view outlet was not set
    IOS开发:UIAlertView使用
    UIAlertView笔记
    Xcode之外的文档浏览工具--Dash (在iOS代码库中浏览本帖)
    iOS 开发者能用上的 10 个 Xcode 插件
  • 原文地址:https://www.cnblogs.com/Master-Sun/p/14293529.html
Copyright © 2011-2022 走看看