JAVA 一个数字问题
- 提问者网友:最美的风景
- 2021-05-04 21:07
- 五星知识达人网友:街头电车
- 2021-05-04 22:13
Map<Integer, Integer> data = new HashMap<Integer, Integer>();
Map是一个容器类,这句话是定义一个Map<Integer, Integer>类型的名叫data指针,它指向一个HashMap<Integer, Integer>();类型的对象。
- 1楼网友:夜风逐马
- 2021-05-05 01:53
这中表达方式叫做泛型,由于map和hashmap两种集合中只能存储对象,所以存储整形数据时,只能用基础类型的包装类Integer。
- 2楼网友:天凉才是好个秋
- 2021-05-05 00:48
import java.util.ArrayList; import java.util.HashMap; import java.util.Map;
public class TT { public static int Nums[]={1,3,5,6,7,5,4,5,3,9,4,5,3,9}; public static int length=Nums.length; public static ArrayList<Integer> list=new ArrayList<Integer>(); public static Map<Integer, Integer> NumCounts = new HashMap<Integer, Integer>(); public static Integer max; //最大数 public static Integer maxCountNum; //最大且次数最多的数 public static void main(String[] args) { sort(); findMaxNumByCount(); } //排序 public static void sort(){ //先排序 (从小到大) for(int i=0;i<length;i++){ for(int j=i+1;j<length;j++){ int temp; if(Nums[i]>Nums[j]){ temp=Nums[j]; Nums[j]=Nums[i]; Nums[i]=temp; } } } max=Nums[length-1]; System.out.println("\r\n\r\n最大的数是:"+max+" \r\n"); } //找出出现次数最多的且数字最大的数 public static void findMaxNumByCount(){ for(int i=0;i<length;i++){ if(!list.contains(Nums[i])){ list.add(Nums[i]); int s[]=getNumCout(Nums,Nums[i]); System.out.println("数字:"+Nums[i]+"出现了:"+s[1]+"次"); NumCounts.put(s[0],s[1]); } } maxCountNum=max; for (Integer key: NumCounts.keySet()) { if(NumCounts.get(key) > NumCounts.get(maxCountNum)) { maxCountNum = key; } } System.out.println("\r\n最大数且次数最多的是:"+maxCountNum+" 它出现了:"+NumCounts.get(maxCountNum)+"次"); } //返回一个数组 [数字,次数] public static int[] getNumCout(int Nums[],int num){ int num$count[]=new int[2]; //累计 数字,出现的次数 int count=0; for(int i=0;i<Nums.length;i++){ if(num==Nums[i]){ num$count[0]=num; count++; } } num$count[1]=count; return num$count; } }
- 3楼网友:胯下狙击手
- 2021-05-04 23:34
- 4楼网友:孤独入客枕
- 2021-05-04 22:21
一个HashMap,存储的键类型是Integer,值类型也是Integer。。