首页> Java> java教程> 正文

Java中的集合处理练习题

WBOY
发布: 2023-06-15 09:52:37
原创
1393 人浏览过

Java是一门极其流行的编程语言,它广泛应用于各种场景,包括Web开发、移动应用开发、桌面应用程序等。Java提供了丰富的集合类库来帮助开发人员处理各种数据结构,包括数组、链表、栈、队列和映射等。

在Java中,集合是一种存放数据项的容器。Java集合类库可以分为两个层次结构:集合接口和集合实现类。集合接口是一组规范,定义了一系列的方法,用于操作集合中的元素。集合实现类是基于接口的现实,提供了具体的实现细节,如ArrayList,LinkedList,HashSet等。

在本文中,我们将介绍一些常见的Java集合处理练习题,帮助读者提高对Java集合操作的掌握。

  1. 找出数组中的重复元素

给定一个整数数组,找出其中的重复元素。例如,对于数组{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5},应输出1, 4和5。

解决这个问题的一种方法是使用HashSet。我们可以遍历数组中的每个元素,并将它们添加到HashSet中。如果一个元素已经存在于HashSet中,就说明它是重复的。以下是代码实现:

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5}; Set set = new HashSet<>(); Set duplicates = new HashSet<>(); for (int i : arr) { if (!set.add(i)) { duplicates.add(i); } } System.out.println("重复元素为:" + duplicates);
登录后复制
  1. 合并两个有序数组

给定两个有序整数数组,将它们合并为一个排序数组。例如,对于数组{1, 3, 5, 7}和{2, 4, 6, 8},应输出{1, 2, 3, 4, 5, 6, 7, 8}。

解决这个问题的一种方法是,创建一个新的数组来保存合并后的结果。接着,我们可以使用两个指针分别指向两个数组中的元素,并比较它们的大小。将较小元素添加到新数组中,并将指针向前移动一位。以下是代码实现:

int[] arr1 = {1, 3, 5, 7}; int[] arr2 = {2, 4, 6, 8}; int len1 = arr1.length; int len2 = arr2.length; int[] result = new int[len1 + len2]; int i = 0, j = 0, k = 0; while (i < len1 && j < len2) { if (arr1[i] < arr2[j]) { result[k++] = arr1[i++]; } else { result[k++] = arr2[j++]; } } while (i < len1) { result[k++] = arr1[i++]; } while (j < len2) { result[k++] = arr2[j++]; } System.out.println(Arrays.toString(result));
登录后复制
  1. 计算一个字符串中每个字符出现的次数

给定一个字符串,计算其中每个字符出现的次数。例如,对于字符串"Java is a great language",应输出字符'J'出现1次,字符'a'出现4次等。

解决这个问题的一种方法是,遍历字符串中的每个字符,并将它们添加到HashMap中。将每个字符作为键,出现次数作为值。以下是代码实现:

String str = "Java is a great language"; Map map = new HashMap<>(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c == ' ') { continue; } if (map.containsKey(c)) { map.put(c, map.get(c) + 1); } else { map.put(c, 1); } } for (Map.Entry entry : map.entrySet()) { System.out.println("字符'" + entry.getKey() + "'出现" + entry.getValue() + "次。"); }
登录后复制

Java集合是Java编程的重要组成部分。本文介绍了一些常见的Java集合处理练习题,有助于读者加深对Java集合操作的理解和应用。

以上是Java中的集合处理练习题的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!