test 1:
数组:
/** * 增强for循环 */ @Test public void test1() { int arr[] = { 1, 2, 3 }; for (int i : arr) { System.out.println(i); } }
test 2:
列表:
@Test public void test2() { List list = new ArrayList(); list.add(1); // 自动包装 list.add(2); list.add(3); for (Object obj : list) { int i = (Integer) obj; System.out.println(i); } }
test 3:
哈希表:
传统方式一:
/** * 第一种方式取值 */ @Test public void test3() { Map map = new HashMap(); map.put("1", "aaa"); map.put("2", "bbb"); map.put("3", "ccc"); // 传统方式1: Set set = map.keySet(); Iterator it = set.iterator(); while(it.hasNext()) { String key = (String) it.next(); String value = (String) map.get(key); System.out.println(key + "=" + value); } }
这时你会发现输出的值和输入值得位置不一样,我们可以用LinkedHashMap;
加强for循环:
@Test public void test5() { Map map = new LinkedHashMap(); map.put("1", "aaa"); map.put("2", "bbb"); map.put("3", "ccc"); // 增强for取map的第1种方式 for(Object obj : map.keySet() ){ String key = (String) obj; String value = (String) map.get(key); System.out.println(key + "=" + value); } }
哈希表:
传统方式二:
@Test public void test4() { Map map = new LinkedHashMap(); map.put("1", "aaa"); map.put("2", "bbb"); map.put("3", "ccc"); // 传统方式2: Set set = map.keySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry entry = (Entry) it.next(); String key = (String) entry.getKey(); String value = (String) entry.getValue(); System.out.println(key + "=" + value); } }
加强for循环:
@Test public void test6() { Map map = new LinkedHashMap(); map.put("1", "aaa"); map.put("2", "bbb"); map.put("3", "ccc"); // 增强for取map的第2种方式 for (Object obj : map.entrySet()) { Map.Entry entry = (Entry) obj; String key = (String) entry.getKey(); String value = (String) entry.getValue(); System.out.println(key + "=" + value); } }
注意加强for循环只适合取数据,并不改变数据;
例子:
@Test public void test1() { int arr[] = { 1, 2, 3 }; for (int i : arr) { i = 10 ; } System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); }
你会发现输出的是1,2,3,只是将arr数组其中的值赋给i,再改变i就与数组无关了。
相关推荐
哈希表课程设计数据结构实验报告——哈希表设计 针对某个集体中的人名设计一个哈希表,使得平均查找长度不超过R,完成相应的建立和查表程序. 1.2 人名为汉语拼音形式,最长不超过18个字符(如:庄双双 ...
哈希表是一种高效的数据结构,它通过特定的函数——哈希函数,将任意大小的键(key)映射到一个固定大小的数组中,从而实现快速的查找、插入和...通过深入研究哈希表的设计,可以进一步提升我们的编程技能和算法理解。
哈希表是一种高效的数据结构...在这个实验中,学生将深入理解哈希表的工作原理,并通过实际编程增强对数据结构的理解。通过对比不同设计方案,他们将学会如何根据具体问题选择合适的数据结构和算法,提升问题解决能力。
在本主题中,我们将深入探讨哈希表的建立和查找过程,以及相关的算法和设计策略。 一、哈希函数的选择与设计 哈希函数是哈希表的核心,它的主要任务是将输入(通常为字符串或整数)转化为数组的索引。一个好的哈希...
理解哈希表的源代码可以帮助我们深入学习其内部机制,并能更好地在实际项目中应用。通过分析压缩包中的"哈希表源代码",我们可以学习到如何设计和实现一个高效的哈希表,包括选择合适的哈希函数、处理冲突的策略以及...
////采用除留余数法定义哈希表,哈希表长度为10,哈希函数为H(key)=key%13。产生冲突时采用线性探测法实现下面要求的功能。 ////(1)初始化哈希表,置空哈希表 ////(2)在哈希表中查找元素 ////(3)在哈希表中...
哈希表,也被称为散列表,是计算机科学中一种非常重要的数据结构,它提供了一种高效的数据存储和检索方法。哈希表通过将键(Key)映射到一个索引位置来实现快速访问,这个索引位置是通过哈希函数计算得出的。哈希...
第二步:实现哈希表的基本操作,包括创建哈希表、销毁哈希表、查找哈希表、插入哈希表等。 第三步:实现哈希函数,使用除留余数法构造哈希函数,并使用伪随机探测再散列法处理冲突。 第四步:实现查找算法,使用...
哈希表是一种在计算机科学中广泛使用的数据结构,它的主要目的是快速查找、插入和删除元素。在这个特定的C++程序中,哈希表被用来实现一个数字排序算法,特别是针对大整数范围内的数据。程序的目标是处理多组测试...
哈希表,也被称为散列表,是数据结构中一种高效的数据存储方式,它通过特定的哈希函数将关键字映射到一个固定大小的数组中,从而实现快速的查找、插入和删除操作。在计算机科学中,哈希表的性能优势在于它的平均时间...
哈希表是一种高效的数据结构,它通过特定的函数(哈希函数)将数据映射到一个固定大小的数组中,以此实现快速的查找、插入和删除操作。...通过学习和理解这个项目的源代码,你可以深入掌握哈希表的工作原理和实际应用。
数据结构中的哈希表是一种高效的数据存储和检索结构,它通过特定的哈希函数将关键字映射到数组的索引位置,实现快速访问。在这个实验报告中,我们关注的是如何构建哈希表并进行基本操作,包括插入、删除、查找等。 ...
哈希表是一种高效的数据结构,它通过特定的算法——哈希函数,将任意大小的键(key)映射到一个固定大小的数组中,从而实现快速查找、插入和删除操作。在C语言中,实现哈希表需要理解其基本原理,并掌握如何利用...
"大数据结构课程设计--哈希表实验报告材料" 在大数据结构课程设计中,哈希表实验报告材料是非常重要的一部分。本文档将详细介绍哈希表的设计和实现,包括哈希函数的构造、冲突处理、查找算法等。 一、哈希表的设计...
哈希表的设计与实现(C语言课程设计) 哈希表是一种高效的数据结构,它可以快速地存储、检索和删除数据。在计算机科学与技术领域中,哈希表是一种常用的数据结构。以下是关于哈希表的设计与实现的详细知识点: 一...
/为班级30个人的姓名设计一个哈希表,假设姓名用汉语拼音表示。要求用除留余数法 构造哈希函数,用线性探测再散列法处理冲突,平均查找长度的上限为2。 编写数据结构和算法来实现。要求:将哈希函数和处理冲突方法...
哈希表(Hash Table)是一种数据结构,它通过哈希函数将关键字映射到数组的索引位置,...在提供的压缩包文件"hash"中,可能包含了具体的C语言代码实现,通过阅读和学习这些代码,你可以更深入地理解哈希表的工作机制。
哈希表是一种高效的数据结构,它通过特定的哈希函数将键(key)映射到一个固定大小的数组中,以此实现快速的插入、查找和删除操作。在本例中,我们关注的是如何利用链地址法来处理哈希冲突。 哈希函数是哈希表的...