• 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

  • 相关阅读:
    STM32的备份寄存器测试
    dsp6657的helloworld例程测试-第一篇
    Dennis Gabor与全息摄影
    Gabor filter与Gabor transform
    图像生成器:让电脑学习生成数字图像
    Haar-like feature和Haar wavelet
    《Wonderland: A Novel Abstraction-Based Out-Of-Core Graph Processing System》章明星
    小波分析及其应用
    Discrete cosine transform(离散余弦转换)
    psimpl_v7_win32_demo
  • 原文地址:https://www.cnblogs.com/nayitian/p/14903492.html
Copyright © 2020-2023  润新知