zoukankan      html  css  js  c++  java
  • Java重温学习笔记,集合

    一、Set和List的区别

    •  Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。
    •  Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet> 。
    •  List可以动态增长,查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,LinkedList,Vector> 。

    二、与 ArrayList 相比,LinkedList 的增加和删除对操作效率更高,而查找和修改的操作效率较低。

    以下情况使用 ArrayList :

    • 频繁访问列表中的某一个元素。
    • 只需要在列表末尾进行添加和删除元素操作。

    以下情况使用 LinkedList :

    • 你需要通过循环迭代来访问列表中的某些元素。
    • 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

    三、HashSet与HashMap的区别

    四、ArrayList的几种遍历方式

    import java.util.*;
     
    public class MyDemo {
     public static void main(String[] args) {
         List<String> list = new ArrayList<String>();
         list.add("Str1");
         list.add("Str2");
         list.add("Str3");
         list.add("Str4");
         
         // For-Each 遍历
         for (String str : list) {
            System.out.println(str);
         }
     
         // 数组遍历
         String[] strArray = new String[list.size()];
         list.toArray(strArray);
         for(String str:strArray) {
            System.out.println(str);
         }
         
         // 迭代器遍历
         Iterator<String> ite=list.iterator();
         while(ite.hasNext()) {
             System.out.println(ite.next());
         }
     }
    }

    五、Map的遍历

    import java.util.*;
     
    public class MyDemo {
         public static void main(String[] args) {
          Map<String, String> map = new HashMap<String, String>();
          map.put("key1", "value1");
          map.put("key2", "value2");
          map.put("key3", "value3");
          
          // keySet遍历
          for (String key : map.keySet()) {
              System.out.println(key + "=" + map.get(key));
          }
          
          // iterator遍历,此种意义不大,仅供参考
          Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
          while (it.hasNext()) {
            Map.Entry<String, String> entry = it.next();
            System.out.println(entry.getKey() + "=" + entry.getValue());
          }
          
          // entrySet遍历,推荐
          for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "=" + entry.getValue());
          }
        
          // 直接输出值
          for (String v : map.values()) {
            System.out.println(v);
          }
         }
    }

     六、集合框架体系图,来源于runoob网站,感觉挺好的,忍不住就摘录过来:

     七、以前写的 ,关于Java-Collections的相关文章,参考:

    随笔分类 - Java-Collections

    本文参考:

    https://www.runoob.com/java/java-collections.html

  • 相关阅读:
    JS闭包
    js Date日期对象的扩展
    python通过post提交数据的方法
    python通过post提交数据的方法
    在Python中操作文件之truncate()方法的使用教程
    在Python中操作文件之truncate()方法的使用教程
    大数据将使安全产品爆发式增长
    大数据将使安全产品爆发式增长
    Python中内置数据类型list,tuple,dict,set的区别和用法
    Python中内置数据类型list,tuple,dict,set的区别和用法
  • 原文地址:https://www.cnblogs.com/nayitian/p/14903492.html
Copyright © 2011-2022 走看看