HashMap排列没有按一定规则示例代码:
public class HashMaps {
public static void main(String[] args) {
Map map = new HashMap();
map.put("a", "aaa");
map.put("b", "bbb");
map.put("c", "ccc");
map.put("d", "ddd");
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
System.out.println("map.get(key) is " + map.get(key));
}
Hashtable tab = new Hashtable();
tab.put("a", "aaa");
tab.put("b", "bbb");
tab.put("c", "ccc");
tab.put("d", "ddd");
Iterator iterator_1 = tab.keySet().iterator();
while (iterator_1.hasNext()) {
Object key = iterator_1.next();
System.out.println("tab.get(key) is " + tab.get(key));
}
TreeMap tmp = new TreeMap();
tmp.put("a", "aaa");
tmp.put("b", "bbb");
tmp.put("c", "ccc");
tmp.put("d", "ddd");
Iterator iterator_2 = tmp.keySet().iterator();
while (iterator_2.hasNext()) {
Object key = iterator_2.next();
System.out.println("tmp.get(key) is " + tmp.get(key));
}
}
}
如果以对象作为key,需要重写作为key对象的hashCode()和equals()方法,示例代码:
public class Exp2 {
public static void main(String[] args) {
HashMap h2 = new HashMap();
for (int i = 0; i < 10; i++) {
h2.put(new Element(i), new Figureout());
}
System.out.println("h2:");
System.out.println("Get the result for Element:");
Element test = new Element(5);
if (h2.containsKey(test)) {
System.out.println((Figureout) h2.get(test));
} else {
System.out.println("Not found!");
}
}
}
class Element {
int number;
public Element(int n) {
number = n;
}
public int hashCode() {
return number;
}
public boolean equals(Object o) {
return (o instanceof Element) && number == ((Element) o).number;
}
}
class Figureout {
Random r = new Random();
boolean possible = r.nextDouble() > 0.5;
public String toString() {
if (possible) {
return "OK!";
} else {
return "Impossible!";
}
}
}
分享到:
相关推荐
Delphi的HashMap集合是一种高效的数据结构,用于存储键值对,它通过哈希函数实现快速查找,这使得在大量数据中查找特定元素的时间复杂度接近...熟悉其内部工作原理和API用法,能帮助开发者编写出更加高效和健壮的代码。
4. **集合框架**:Java集合框架包括List、Set、Map等接口和实现,如ArrayList、HashSet、HashMap等。了解它们的区别、性能特点以及如何选择合适的集合类型是必要的。 5. **多线程编程**:Java提供了Thread类和...
在Java编程中,数据转换是常见的操作之一,特别是在处理数据序列化和反序列化时。JSON(JavaScript Object Notation)是一种轻量级的数据交换...无论选择哪个库,了解其基本用法和高级特性对于提高开发效率至关重要。
控制流语句:熟悉if-else、switch、for、while等控制流语句的用法。 面向对象编程:深入理解Java中的类、对象、继承、封装和多态等概念。 异常处理:了解try-catch-finally块的使用,以及自定义异常的处理。 二、...
4. 熟悉 Java String 的使用,熟悉 String 的各种函数 5. JDK 6 和 JDK 7 中 substring 的原理及区别、replaceFirst、replaceAll、replace 区别 6. String.valueOf 和 Integer.toString 的区别、字符串的不可变性 7....
- 了解ArrayList、LinkedList、HashSet、HashMap等集合类的区别和应用场景。 - 熟悉List、Set、Map接口及其实现类的特性。 - 掌握集合的遍历方式,如迭代器和增强for循环。 - 学习并发集合,如ConcurrentHashMap...
- 熟悉ArrayList、LinkedList、HashSet、HashMap等集合类的特性和使用场景。 - 理解迭代器的用途,以及List和Set的区别。 7. **多线程**: - 掌握线程的创建方式(Thread类和Runnable接口),理解线程同步和互斥...
3. 字符流:熟悉Reader和Writer类及其子类的用法。 4. 对象序列化:学习如何实现Serializable接口以进行对象的序列化和反序列化。 六、多线程 1. 线程概念:理解并发和多线程的概念,了解Thread类和Runnable接口。 ...
理解它们的区别和用法是基础。 - **变量、常量与作用域**:了解变量的声明、初始化以及作用域的概念。 - **流程控制**:掌握if-else、switch、for、while等控制结构。 - **方法**:理解方法的定义、参数传递以及...
1. HashMap:了解 HashMap 的扩容原理和实现机制。 2. ConcurrentHashMap:了解 ConcurrentHashMap 的原理和实现机制。 多线程 1. Synchronize 和 Lock:了解 Synchronize 和 Lock 的区别与用法。 2. wait() 和 ...
理解面向对象编程的基本概念,掌握异常处理机制,熟悉构造器、final关键字的用法。 2. **数据结构与算法**:了解数组、链表、栈、队列、树(二叉树、平衡树如AVL、红黑树)、图等基本数据结构,以及排序(冒泡、...
4. **集合框架**:熟悉ArrayList、LinkedList、HashSet、HashMap等常用集合类,了解它们的特性、性能差异以及应用场景。理解并发环境下集合类的线程安全问题。 5. **多线程**:理解线程的概念,掌握Thread类和...
4. **数组与集合**:熟悉数组的创建、遍历和操作,理解ArrayList、LinkedList、HashSet、HashMap等集合框架的使用。 5. **异常处理**:理解异常的分类,如检查性异常和运行时异常,掌握try-catch-finally语句的用法...
- 熟悉ArrayList、LinkedList、HashSet、HashMap等基本集合类的实现和操作。 - 了解并发容器,如ConcurrentHashMap和CopyOnWriteArrayList,并理解其在多线程环境中的应用。 5. **多线程** - 理解线程的基本概念...
3. 数据类型:熟悉基本数据类型(整型、浮点型、字符型、布尔型)及其用法,以及引用数据类型(类、接口、数组)的区别。 4. 控制流:熟练掌握if语句、switch语句、循环(for、while、do-while)的使用。 5. 异常...
在文档《Java集合排序及java集合类详解.pdf》中,虽然由于OCR扫描的原因,内容存在一些文字错误和漏识别,但可以推断该文档详细讲解了Java集合类的各个接口以及实现类的特点、用法以及它们之间的区别,并且详细介绍...
4. **集合框架**:熟悉ArrayList、LinkedList、HashSet、HashMap等数据结构的特性,知道它们的底层实现原理,比如ArrayList是基于数组,HashMap是基于哈希表。了解并发环境下集合的使用,如ConcurrentHashMap和...
- 掌握ArrayList、LinkedList、Vector、HashMap、HashSet、TreeMap、TreeSet等常用集合类的特性和使用场景。 - 理解List、Set、Map接口及其实现类之间的区别。 - 熟悉集合操作,如添加、删除、查找、遍历等,并能...
在小项目中,新手可以尝试编写一些简单的算法,比如计算阶乘、查找数组中的最大值或最小值,以熟悉这些流程控制语句的用法。 异常处理是Java编程中不可或缺的一部分。通过练习,新手可以了解如何使用try-catch-...
- 了解字节流和字符流的区别,以及FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等常用类的用法。 - 掌握NIO(New IO)和AIO(Asynchronous IO)的特点和应用场景。 - 熟悉序列化和反序列...