zoukankan      html  css  js  c++  java
  • 遍历集合的方法

    迭代器遍历

    List<String> list = new Arraylist<String>();
    list.add("a");
    Iterator iter = list.iterator();
    while(iterator.hasNext()) {
        String str = iter.next();
    }
    

    索引遍历

    for (int i = 0; i <list.size(); i++) {
        System.out.println(list.get(i));
    }
    

    ArrayList和LinkedList的区别

    ArrayList的底层是数组实现的,数组的每个单位地址是连续的,所以特点是查询、修改快,但是插入和删除元素时候会修改元素后面的所有元素,所以插入、删除慢

    ArrayList的线程安全方案List list = Collections.synchornizedList(new ArrayList())

    LinkedList的底层是链表实现的,链表的结构地址不连续,只是每个地址存有上链和下链的地址,所以增加、删除链的时候只会修改上链和下链记录的地址,不会修改全身,所以链表结构增加、删除快,但是因为地址不连续,所以查询、修改慢

    LinkedList特有的方法

    • 增加、删除首位元素List.addFirst()、List.removeFirst()、List.addLast()、List.removeLast()
    • 查询首位元素List.getLast()、List.getFirst()

    HashSet

    • Set里面存储的元素不能重复,没有索引,存取顺序不一致。
    • 遍历Set的方法,使用for each 循环,或迭代器遍历方式,但是因为没有索引,所以不能通过访问索引遍历
    • 能使用迭代器遍历的容器都能用for each 遍历
    for (int element:set)
        System.out.println(element);
    

    LinkdHashSet和HashSet的区别

    • 两者都是Set,都存放不重复的一组数据
    • LinkdHashSet底层是两边实现,所以可以保存存入数据时候的顺序,而HashSet是无序的

    遍历map的方法

    HashMap<> map = new HashMap<>();
    Iterator iter = map.keySet().iterator() //Set()方法返回map中所有的key
    
  • 相关阅读:
    POJ 1811 Prime Test (Rabin-Miller强伪素数测试 和Pollard-rho 因数分解)
    POJ 1200 Crazy Search (哈希)
    POJ 1061 青蛙的约会 (扩展欧几里得算法)
    POJ 1035 Spell checker (模拟)
    hud 2554 N对数的排列问题 (规律)
    HDU 2522 A simple problem (模拟)
    Python环境配置及项目建立
    IDEA通过MyBatis generator生成数据库表的对象
    复制、粘贴、剪切 操作
    下载歌曲(以QQ音乐为例)
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10696042.html
Copyright © 2011-2022 走看看