【Java方法】统计数组内元素的种类数及每种元素的数量

  • 1、统计数组内元素的种类数
  • 2、统计数组内每种元素的数量

我们假定一个一维数组 a={1,2,3,2,2,3,1,3,2,1,2,3,1,2,1,2,3,2,1}a = \left\{ {1,2,3,2,2,3,1,3,2,1,2,3,1,2,1,2,3,2,1} \right\}a={1,2,3,2,2,3,1,3,2,1,2,3,1,2,1,2,3,2,1}

1、统计数组内元素的种类数

import java.util.*;public class ArrayCountExample1 { public static int arraycount(int [] a) {//计算一维数组的长度int n = a.length;//将数组拷贝到新的地址,这样对新数组操作不会改变原数组int [] tmp = new int [n];System.arraycopy(a, 0, tmp, 0, n); //统计元素种类数int Num = 1;//将数组按元素大小重新排序Arrays.sort(tmp);for(int i = 1; i < n; i ++) {if (tmp[i] != tmp[i-1]) {Num ++;}}return Num;}public static void main(String[] args) {// 数组aint [] a = {1,2,3,2,2,3,1,3,2,1,2,3,1,2,1,2,3,2,1};int aNum = arraycount(a);System.out.println("数组a的元素种类数为:" + aNum);}
}

结果:

数组a的元素种类数为:3

2、统计数组内每种元素的数量

import java.util.*;public class ArrayCountExample2 {public static void main(String[] args) {int [] a = {1,2,3,2,2,3,1,3,2,1,2,3,1,2,1,2,3,2,1};//计算一维数组的长度int n = a.length;//将数组拷贝到新的地址,这样对新数组操作不会改变原数组int [] tmp = new int [n];System.arraycopy(a, 0, tmp, 0, n); //统计元素种类数int Num = 1;//将数组按元素大小重新排序Arrays.sort(tmp);for(int i = 1; i < n; i ++) {if (tmp[i] != tmp[i-1]) {Num ++;}}//用于存储不同元素的数组int [] b1 = new int [Num];       //用于存储元素数量的数组int [] b2 = new int [Num];for (int i = 0; i < Num; i ++) {b2[i] = 1;}//b1与b2的指针int j = 0;for(int i = 1; i < n; i ++) {if (tmp[i] == tmp[i-1]) {b1[j] = tmp[i];b2[j] ++;}else {j ++;b1[j] = tmp[i];}}System.out.println("数组a的元素种类为:" + Num);System.out.println("数组a的不同元素列表" + b1);System.out.println("数组a不同元素的数量列表" + b2);}
}

结果

数组a的元素种类为:3
数组a的不同元素列表[I@5c8da962     [1, 2, 3]
数组a不同元素的数量列表[I@512ddf17   [6, 8, 5]

【Java方法】统计数组内不同元素个数及每个元素的数量相关推荐

  1. [js] 写一个方法判断数组内元素是否全部相同

    [js] 写一个方法判断数组内元素是否全部相同 const isSameArray = function (array) {if (Array.isArray(array)) {return new ...

  2. js删除数组内多个指定下标的元素

    js删除数组内多个指定下标的元素 let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] let deleteIndex = [2, 4, 7] if (delet ...

  3. java中的输入语句判断正负_在java中使用方法调用统计数组中正数的个数,将判断数据的正负功能定义成方法...

    满意答案 donglin820 推荐于 2018.04.21 public class TestDemo { static int count = 0;// 统计整数的个数 public static ...

  4. java方法和数组的概念及法

    今天主要是了解数组和方法,下面主要是展示一下方法的概念和调用以及技巧,数组的引用调用命名等规则 方法和数组 方法的概念 调用方式常见的有三种 重名问题 参数传递 两条规则 递归调用 汉诺塔问题: 递归 ...

  5. Java方法实现数组的遍历、获取数组的最大值和最小值

    1. Java方法的练习:数组遍历 需求:设计一个方法用于数组遍历,要求遍历的结果是在一行上的.例如:[11, 22, 33, 44, 55] import java.util.Scanner;//需 ...

  6. 数据结构专题(一):1.2.求元素个数,取元素与定位

    如下代码:求数组长度 int GetSizeSeq(SequenList *pList) {return pList->last; //最后只需知道last的值就好 } 进行数组中元素的读取和查 ...

  7. 1-4 Java方法和数组

    作业 /*** 回顾:* 循环有三种 while do-while for* 固定元素 --> 循环变量赋初值 循环条件 重复操作的事情 循环变量自增或自减* 1. 在屏幕上输出10行内容,每行 ...

  8. Java方法中数组_Java中数组常用方法的总结

    将截取一部分旧数组中的元素,复制给新数组, 反之,如果大于旧数组的长度,则将以 0 , null ,或 false 给予补充. 例:快速复制数组? public class Practice{ pub ...

  9. 【java】统计正数和负数的个数然后计算这些数的平均值

    注:部分内容参考自该篇博客 编写程序,输入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值得总和及平均值(不对0计数).当输入为0时,表明程序结束.将平均值以doubl ...

最新文章

  1. numpy使用[]语法索引二维numpy数组中指定数据行的数值内容(accessing the specific row in numpy array)
  2. zoj 3705 Applications
  3. SAP UI5 Web Component的React表格控件用法
  4. 3G与4G到底有何区别?
  5. 从Xbox和Zune中学到的四门创业课
  6. 广东人大常委会党组会议强调:要加快人工智能等领域的相关立法工作。【Python】
  7. 直播丨 如何从零快速搭建一整套监控体系(日志采集+主机+数据库)
  8. 【Python】Python3.7.3 - memoization 结果缓存记忆程序设计优化技术
  9. 趣学 C 语言(九)—— 复杂指针解析
  10. 前端请求接口post_程序员:HttpClient进行post请求的工具类,访问第三方接口HTTPS...
  11. LeetCode 6罗马数字转整数
  12. Euclid空间上的点集划分
  13. IDM下载资源提示无法连接到服务器,代理,防火墙
  14. SSD【目标检测篇】
  15. Python断言与isinstance()判断数据类型
  16. 箱形图的优缺点,python绘制箱形图
  17. 百度糯米用大数据重塑O2O产业
  18. 日出日落时间和年均光照时长计算 java
  19. linux 文本方式怎么安装,Linux文本方式安装系统
  20. Airsim 无人机仿真

热门文章

  1. Silverlight 获得鼠标位置
  2. AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)
  3. 如何才能在大数据中获取价值
  4. 深掘工业互联网大数据五大维度
  5. 获取salve设备地址_商机 | 优选设备,让废金属加工更高效!
  6. c语言c99标准_从年薪10万到年薪30万,C语言程序员必读的5本书
  7. fopen无法创建文件_Linux中一切皆文件,除了网卡
  8. sql2017 for linux,Installing SQL Server 2017 for Linux on Ubuntu 18.04 LTS
  9. L2-008 最长对称子串(马拉车 or 技巧暴力)
  10. 中介者模式php,PHP设计模式之中介者模式