java集合有哪些?Java怎么遍历Map集合?

阳光 2022-05-16 15:53:44 java常见问答 4236

我们知道,java数组是不能修改的,但是在实际应用操作中,我们却无法确定数据数量,这时候我们就需要使用集合,那java集合有哪些?下面来我们就来给大家讲解一下。

java集合分三种,List、Set、Map,这三种集合适用于不同的场景:

1.List:适用于有序,可重复的集合;

2.Set:适用于不可重复集合;

3.Map:适用于键值对的存储;

注:通常List与Map最为常用。

Java怎么遍历Map集合?

Map 集合的遍历与 List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等)都可以用以下几种方式遍历。

1)在 for 循环中使用 entries 实现 Map 的遍历(最常见和最常用的)。

public static void main(String[] args)
{
    Map < String, String > map = new HashMap < String, String > ();
    map.put("Java入门教程", "http://c.biancheng.net/java/");
    map.put("C语言入门教程", "http://c.biancheng.net/c/");
    for (Map.Entry < String, String > entry: map.entrySet())
    {
        String mapKey = entry.getKey();
        String mapValue = entry.getValue();
        System.out.println(mapKey + ":" + mapValue);
    }
}

2)使用 for-each 循环遍历 key 或者 values,一般适用于只需要 Map 中的 key 或者 value 时使用。性能上比 entrySet 较好。

Map < String, String > map = new HashMap < String, String > ();
map.put("Java入门教程", "http://c.biancheng.net/java/");
map.put("C语言入门教程", "http://c.biancheng.net/c/");
// 打印键集合
for (String key: map.keySet())
{
    System.out.println(key);
}
// 打印值集合
for (String value: map.values())
{
    System.out.println(value);
}

3)使用迭代器(Iterator)遍历

Map < String, String > map = new HashMap < String, String > ();
map.put("Java入门教程", "http://c.biancheng.net/java/");
map.put("C语言入门教程", "http://c.biancheng.net/c/");
Iterator < Entry < String, String >> entries = map.entrySet()
    .iterator();
while (entries.hasNext())
{
    Entry < String, String > entry = entries.next();
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + ":" + value);
}

4)通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作。

for (String key: map.keySet())
{
    String value = map.get(key);
    System.out.println(key + ":" + value);
}

其实Java 的集合就像一个容器,用来存储 Java 类的对象,而Map 就是java集合其中一种,Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。

推荐阅读:

qt如何打开别人的项目?qt项目如何创建?

java终止程序快捷键有哪些?java如何终止程序?

java就业培训多少钱?找java培训机构要考虑哪些?