首页 新闻 会员 周边 捐助

linq 查询问题

0
[已解决问题] 解决于 2013-05-14 15:05

有一个数组array 我想获得array里面出现次数最多,最早出现的数

微风吹过12x的主页 微风吹过12x | 初学一级 | 园豆:73
提问于:2013-05-14 14:37
< >
分享
最佳答案
1
static void Main(string[] args)
        {
            List<Int32> array = new List<Int32>() { 1, 2, 2, 3, 1, 2, 3, 2, 4, 3, 4, 3, 2, 2, 1, 3, 3 };
            Console.WriteLine(array.GroupBy(m => m).Select(m => new { Key = m.Key, Count = m.Count() }).OrderByDescending(m => m.Count).Select(m => m.Key).FirstOrDefault());

            Console.ReadKey();
        }
奖励园豆:5
写代码的小2B | 老鸟四级 |园豆:4377 | 2013-05-14 15:00

非常感谢

微风吹过12x | 园豆:73 (初学一级) | 2013-05-14 15:04
其他回答(1)
0

import java.util.HashSet;
import java.util.Set;
import java.util.List;
import java.util.ArrayList;

public class TestJ {

public static void main(String[] args) {
                                /*List<Object> list = new ArrayList<Object>();
list.add(....);
                                list.add(....); .....
Object[] obj1 = list.toArray();*/
                               //以上注释部分代码意思是:可以自己给list中加入元素,然后赋给数组obj1
Object[] obj1 = {1,1,2,2,2,3,3,3,4,4,4};
                               //这里用你给的这个数组简单测试一下。
                                //Object数组中存放对象,
Set<Object> s = new HashSet<Object>();//HashSet用来去掉重复
for(Object o:obj1){
s.add(o);
}  //现在的集合s中无重复的包含obj1中的所有元素
Object[] obj2 = s.toArray();//把集合s中的元素存入数组obj2中
int[] n = new int[obj2.length];//这个数组用来存放每一个元素出现的次数
int max = 0;
for(int i=0;i<obj2.length;i++){
int cout = 0;
for(int j=0;j<obj1.length;j++){
if(obj2[i].equals(obj1[j]))cout++;
                                                    //用obj2中的元素跟obj1中的每一个比较,如果相同cout自增
}
n[i] = cout;//每一个元素出现的次数存入数组n
                                       //数组n的下标i跟数组obj2的下标是一一对应的。
if(max<cout){//得到元素出现次数最多是多少次
max = cout;
}
}
for(int i=0;i<n.length;i++){
if(max==n[i]){
                                  / /如果出现的次数等于最大次数,就输出对应数组obj2中的元素
System.out.println(obj2[i]);
}
}
}
}
输出结果; 2 3 4

恶魔般的微笑_炫晨 | 园豆:202 (菜鸟二级) | 2013-05-14 14:58

 大哥你是复制粘贴党吧 

支持(0) 反对(0) 微风吹过12x | 园豆:73 (初学一级) | 2013-05-14 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册