【Java方法】统计数组内不同元素个数及每个元素的数量
【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方法】统计数组内不同元素个数及每个元素的数量相关推荐
- [js] 写一个方法判断数组内元素是否全部相同
[js] 写一个方法判断数组内元素是否全部相同 const isSameArray = function (array) {if (Array.isArray(array)) {return new ...
- js删除数组内多个指定下标的元素
js删除数组内多个指定下标的元素 let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] let deleteIndex = [2, 4, 7] if (delet ...
- java中的输入语句判断正负_在java中使用方法调用统计数组中正数的个数,将判断数据的正负功能定义成方法...
满意答案 donglin820 推荐于 2018.04.21 public class TestDemo { static int count = 0;// 统计整数的个数 public static ...
- java方法和数组的概念及法
今天主要是了解数组和方法,下面主要是展示一下方法的概念和调用以及技巧,数组的引用调用命名等规则 方法和数组 方法的概念 调用方式常见的有三种 重名问题 参数传递 两条规则 递归调用 汉诺塔问题: 递归 ...
- Java方法实现数组的遍历、获取数组的最大值和最小值
1. Java方法的练习:数组遍历 需求:设计一个方法用于数组遍历,要求遍历的结果是在一行上的.例如:[11, 22, 33, 44, 55] import java.util.Scanner;//需 ...
- 数据结构专题(一):1.2.求元素个数,取元素与定位
如下代码:求数组长度 int GetSizeSeq(SequenList *pList) {return pList->last; //最后只需知道last的值就好 } 进行数组中元素的读取和查 ...
- 1-4 Java方法和数组
作业 /*** 回顾:* 循环有三种 while do-while for* 固定元素 --> 循环变量赋初值 循环条件 重复操作的事情 循环变量自增或自减* 1. 在屏幕上输出10行内容,每行 ...
- Java方法中数组_Java中数组常用方法的总结
将截取一部分旧数组中的元素,复制给新数组, 反之,如果大于旧数组的长度,则将以 0 , null ,或 false 给予补充. 例:快速复制数组? public class Practice{ pub ...
- 【java】统计正数和负数的个数然后计算这些数的平均值
注:部分内容参考自该篇博客 编写程序,输入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值得总和及平均值(不对0计数).当输入为0时,表明程序结束.将平均值以doubl ...
最新文章
- numpy使用[]语法索引二维numpy数组中指定数据行的数值内容(accessing the specific row in numpy array)
- zoj 3705 Applications
- SAP UI5 Web Component的React表格控件用法
- 3G与4G到底有何区别?
- 从Xbox和Zune中学到的四门创业课
- 广东人大常委会党组会议强调:要加快人工智能等领域的相关立法工作。【Python】
- 直播丨 如何从零快速搭建一整套监控体系(日志采集+主机+数据库)
- 【Python】Python3.7.3 - memoization 结果缓存记忆程序设计优化技术
- 趣学 C 语言(九)—— 复杂指针解析
- 前端请求接口post_程序员:HttpClient进行post请求的工具类,访问第三方接口HTTPS...
- LeetCode 6罗马数字转整数
- Euclid空间上的点集划分
- IDM下载资源提示无法连接到服务器,代理,防火墙
- SSD【目标检测篇】
- Python断言与isinstance()判断数据类型
- 箱形图的优缺点,python绘制箱形图
- 百度糯米用大数据重塑O2O产业
- 日出日落时间和年均光照时长计算 java
- linux 文本方式怎么安装,Linux文本方式安装系统
- Airsim 无人机仿真
热门文章
- Silverlight 获得鼠标位置
- AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)
- 如何才能在大数据中获取价值
- 深掘工业互联网大数据五大维度
- 获取salve设备地址_商机 | 优选设备,让废金属加工更高效!
- c语言c99标准_从年薪10万到年薪30万,C语言程序员必读的5本书
- fopen无法创建文件_Linux中一切皆文件,除了网卡
- sql2017 for linux,Installing SQL Server 2017 for Linux on Ubuntu 18.04 LTS
- L2-008 最长对称子串(马拉车 or 技巧暴力)
- 中介者模式php,PHP设计模式之中介者模式