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
    
  • 相关阅读:
    启动与指定的文件或协议相关联的默认应用程序
    Windows phone msdn 索引
    34、ShareTarget
    36、UI contrast and settings
    Windows 8下默认管理员登录
    精益创业 Lean Startup
    38、animation
    access2003 基础 1008
    JQuery DOM
    用Javascript实现面向对象编程(封装,抽象,继承,多态)
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10696042.html
Copyright © 2011-2022 走看看