- 浏览: 124529 次
- 性别:
- 来自: 深圳
文章分类
最新评论
Map(映射):Map的KeySet()方法会返回key的集合,因为Map的键不能重复,因此keySet()方法的返回类型是Set;而Map的值是可以重复的,因此values()方法的返回类型Collection,可以容纳重复的元素。
package com.test.array; import java.util.HashMap; public class HashMapTest { public static void main(String[] args) { HashMap map = new HashMap(); map.put("a", "zhangsan"); map.put("b", "lisi"); map.put("c", "wangwu"); map.put("a", "zhaoliu"); System.out.println(map); } }
打印出的结果是:
{a=zhaoliu, c=wangwu, b=lisi}
没打印出zhangsan,是因为键a的值被zhaoliu覆盖了。
如果从一个不存在的键中获取值,则会打印出null
String value = (String) map.get("s"); //s并不存在 System.out.println(value);
通过迭代key值取得value
package com.test.array; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class KeyIterTest { public static void main(String[] args) { HashMap map = new HashMap(); map.put("a", "aa"); map.put("b", "bb"); map.put("c", "cc"); map.put("d", "dd"); Set keySet = map.keySet(); for (Iterator iters = keySet.iterator(); iters.hasNext();) { String key = (String)iters.next(); String value = (String)map.get(key); System.out.println(key +"="+value); } } }
Map的entrySet() 方法返回一个Set集合,里面包含Map的键值对的对象。
Entry是HashMap的一个内部类。可以通过获取entry来取得HashMap的键与值。
package com.test.array; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class HashMapTest { public static void main(String[] args) { HashMap map = new HashMap(); map.put("a", "zhangsan"); map.put("b", "lisi"); map.put("c", "wangwu"); map.put("a", "zhaoliu"); Set set = map.entrySet(); for(Iterator iter = set.iterator();iter.hasNext();){ Map.Entry entry = (Map.Entry)iter.next(); String key = (String)entry.getKey(); String value = (String)entry.getValue(); System.out.println(key +" = "+value); } } }
TreeMap:TreeMap是对键进行排序。
3,使用Map生成随机数排序测试:
随机生成50个数字(整数),每个数字的范围是【10,50】,统计每个数字出现的次数以及出现次数最多的数字与它的个数,最后将每个数字及其出现次数打印出来。如果某个出现的次数是0,则不打印它。打印时按照数字的升序排列。
package com.test.array; import java.util.List; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.Map; import java.util.Random; import java.util.Set; import java.util.TreeMap; public class HashMapTest { public static void main(String[] args) { Random random = new Random(); Map map = new TreeMap(); for (int i = 0; i < 50; i++) { int number = random.nextInt(41) + 10; if (map.get(new Integer(number)) != null) { // 不是第一次出现,已经有值了 map.put(new Integer(number), ((Integer) map.get(new Integer( number))).intValue() + 1); } else { // 第一次出现,将其值设为1 map.put(new Integer(number), new Integer(1)); } } // 打印结果 格式为 "键=值" Set set = map.entrySet(); List list = new ArrayList(); // 打印出现次数最多的数字 Collection cols = map.values(); Integer maxNumber = (Integer) Collections.max(cols); for (Iterator iter = set.iterator(); iter.hasNext();) { Map.Entry entry = (Map.Entry) (iter.next()); Integer value = (Integer) entry.getValue(); if (maxNumber.intValue() == value.intValue()) { list.add(entry.getKey()); } System.out.println(entry.getKey() + " =" + entry.getValue()); } System.out.println("出现最多次数为: "+maxNumber.intValue()); System.out.print("这些数字分别是:"); for (int k = 0; k < list.size(); k++) { System.out.print(list.get(k)+" "); } } }
发表评论
-
深入分析 Java I/O 的工作机制
2012-09-01 01:11 862http://www.ibm.com/developerwor ... -
TreeSet小例
2012-08-18 09:34 779package com.test.collframewo ... -
JAVA LinkedList小例
2012-08-17 23:13 1572package com.test.collframework; ... -
HashMap原理及冲突之简谈
2012-08-16 06:39 693HashMap简析之-HashCode冲突的解 ... -
HashMap与Hashtable的区别
2012-08-16 00:08 763HashTable的应用非常广泛,HashMap是新框架中用来 ... -
JAVA基础1:面向对象
2011-08-21 18:19 684... -
JAVA集合类(5):HashMap与HashSet源码深度剖析
2011-08-18 23:51 1310查看 HashSet的源码会发现,HashSet是由HashM ... -
JAVA集合类(3):Set集合
2011-08-13 23:41 1044Eclipse提供了快捷重写equa ... -
JAVA集合类(2):JAVA集合类框架,各种List
2011-08-12 17:41 798ArrayList: 注意其toArray ... -
JAVA集合类(2):冒泡排序、二分查找
2011-08-10 23:56 2737以下各种排序都是使用数组实现的。 1,冒泡排序(Bub ... -
JAVA集合类(1):数组介绍及常用 API
2011-08-10 00:35 1425数组(Array):相同类型的数据的集合就叫数组。 如何定义 ... -
.Java异常
2011-06-07 22:38 713异常(Exception) 1. J ...
相关推荐
【Java Map 集合类简介】 在Java的`java.util`包中,集合类扮演着重要的角色,其中List和Map是最为常见的两种。List的实现例如ArrayList和Vector,它们都是可变大小的列表,适合存储和操作各种类型对象的序列。特别...
Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...
### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...
这些集合类和接口的设计旨在满足不同的需求,并提供了高效的数据管理和操作手段。Java集合框架主要由四个关键部分组成:接口、实现、算法和辅助类。下面我们将详细探讨这些概念。 #### 主要接口 1. **Collection**...
重点探讨了 Java集合框架中的 Map接口及其主要实现类(HashMap、TreeMap、LinkedHashMap),并通过示例代码展示它们的使用方法。文章还深入讨论了泛型在 Map中的应用及其优缺点,最后介绍了一些高级用法,如自定义 ...
3. 集合类的实现:分析List类和Map类的内部结构,理解它们如何存储和操作数据。 4. 面向接口编程:虽然易语言没有像Java那样的接口概念,但可以通过模拟接口的实现,提供类似的功能。 5. 键值对操作:了解如何在Map...
在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以...
- `Collection`接口是所有集合类的根接口,分为`List`和`Set`两大分支。 - `List`接口包括`ArrayList`和`LinkedList`等实现,`ArrayList`适合随机访问,`LinkedList`适合频繁的插入和删除操作。 - `Map`接口用于...
Java集合框架主要包括四种类型的集合:List、Set、Queue和Map。每种集合都有其独特的特性和应用场景。 - **List**:有序集合,支持元素重复。典型实现包括`ArrayList`和`LinkedList`。 - **Set**:无序集合,不支持...
### Java集合类详解总结 在Java编程中,集合框架(Collection Framework)是处理一组对象的强大工具,它提供了标准的数据结构来存储和操作这些对象。Java集合框架主要包括`Collection`、`Set`、`List`、`Queue`、`...
Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...
Java 集合类 List-Set-Map 的区别和联系 Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的联系和区别。在本文中,我们将对 Java 集合类 List、Set 和 Map 的区别和联系进行详细的...
Java集合排序及java集合类详解(Collection、List、Map、Set)讲解 Java集合框架是Java语言中最重要的组件之一,能够正确使用Java集合框架对于Java程序的开发具有无比的好处。本文将详细解释Java集合框架的实现原理、...
本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...
首先,Java集合框架包括接口(如List、Set、Map)和实现这些接口的类(如ArrayList、HashSet、HashMap)。这些类提供了基础的数据结构和方法,如添加元素、删除元素、查找元素等。然而,标准库中的集合可能并不完全...
java.util 中的集合类包含 Java 中某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。 List 适用...
### Java集合类与容器类详解 #### 一、引言 在Java编程中,集合类是一种非常重要的数据结构,用于存储一系列对象。相比于数组,集合类提供了更多的灵活性和功能,尤其是在处理未知数量的对象时更为方便。Java标准...
Java集合类是Java编程语言中用于存储和管理对象的关键组件,它们构成了Java Collections Framework的核心。这个框架提供了一组高效、灵活的数据结构,使得开发者能够轻松地处理数据集合,而无需关心底层实现的复杂性...
java集合类list-set-map.doc
集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...