Java 集合 ArrayList和HashMap的区别

ArrayListHashMapJava 中常用的两个集合类。尽管两者都是集合框架的一部分,但它们存储和处理数据的方式却完全不同。在这篇文章中,我们将看到这两个集合之间的主要区别。

Java 中的ArrayListHashMap

1)实现ArrayList实现List接口,而HashMapMap接口的实现。ListMap是两个完全不同的集合接口。

2)内存消耗ArrayList单独存储元素的值,并在内部维护每个元素的索引。

 ArrayList<String> arraylist = new ArrayList<String>();
//String value is stored in array list
 arraylist.add("Test String");

HashMap存储键值对。对于每个值,必须在HashMap中关联一个键。这清楚地表明,与ArrayList相比,HashMap中的内存消耗很高。

HashMap<Integer, String> hmap= new HashMap<Integer, String>();
//String value stored along with the key value in hash map
 hmap.put(123, "Test String");

3) 顺序ArrayList维护插入顺序,而HashMap则没有。这意味着ArrayList以与插入列表相同的顺序返回列表项。另一方面,HashMap不维护任何顺序,返回的键值对不按任何顺序排序。

4)重复ArrayList允许重复元素,但HashMap不允许重复键(它允许重复值)。

5) 空值ArrayList可以包含任意数量的null元素。HashMap允许一个空键和任意数量的空值。

6) get方法:在ArrayList中我们可以通过指定它的索引得到元素。在HashMap中,通过指定相应的键来获取元素。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程