便利一个集合或数组中重复出现的数据的名字和个数
2011-11-30 00:42
295 查看
我想便利一个数组中如1,2,3,2,4,5,6,4,2,1,5中的元素的相同的元素的个数,然后把它们的还一一对应的保存起来
形如:1 有2个,2有3个,3有1个,4有2个,5有2个,6有一个
想了一节课终于解决了……
我先定义了一个类,想要便利用户的文章的个数:
public class UserContent
{
public string Username { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
然后我又定义了一个记录用户文章数目的信息类:
public class ContentAccount
{
public string UserName { get; set; }
public int ContentCount { get; set; }
}
这时我需要使用泛型来解决这个问题:
ObservableCollection<UserContent> UserInfo = new ObservableCollection<UserContent>();
ObservableCollection<ContentAccount> temp = new ObservableCollection<ContentAccount>();
foreach (UserContent usercontent in UserInfo)
{
ContentAccount contentaccount = new ContentAccount();
int tempcount = temp.Count;
if (tempcount == 0)
{
contentaccount.UserName = usercontent.Username;
contentaccount.ContentCount = 1;
temp.Add(contentaccount);
}
else
{
for (int i = 0; i < tempcount; i++)
{
if (usercontent.Username == temp[i].UserName)
{
temp[i].ContentCount += 1;
break;
}
else
{
if (i == tempcount - 1)
{
contentaccount.UserName = usercontent.Username;
contentaccount.ContentCount = 1;
temp.Add(contentaccount);
}
}
}
}
}
形如:1 有2个,2有3个,3有1个,4有2个,5有2个,6有一个
想了一节课终于解决了……
我先定义了一个类,想要便利用户的文章的个数:
public class UserContent
{
public string Username { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
然后我又定义了一个记录用户文章数目的信息类:
public class ContentAccount
{
public string UserName { get; set; }
public int ContentCount { get; set; }
}
这时我需要使用泛型来解决这个问题:
ObservableCollection<UserContent> UserInfo = new ObservableCollection<UserContent>();
ObservableCollection<ContentAccount> temp = new ObservableCollection<ContentAccount>();
foreach (UserContent usercontent in UserInfo)
{
ContentAccount contentaccount = new ContentAccount();
int tempcount = temp.Count;
if (tempcount == 0)
{
contentaccount.UserName = usercontent.Username;
contentaccount.ContentCount = 1;
temp.Add(contentaccount);
}
else
{
for (int i = 0; i < tempcount; i++)
{
if (usercontent.Username == temp[i].UserName)
{
temp[i].ContentCount += 1;
break;
}
else
{
if (i == tempcount - 1)
{
contentaccount.UserName = usercontent.Username;
contentaccount.ContentCount = 1;
temp.Add(contentaccount);
}
}
}
}
}
相关文章推荐
- 删除数组中重复出现的字符并只留一个,构成新的数组
- 面试题:统计一个数组中不重复出现的元素个数
- 删除数组中重复出现的元素,只留下一个,排序后输出
- 求一个串中出现的第一个最长可重叠重复子串 [后缀数组解法]
- C#实现获取一个集合数组中出现次数最多的元素
- 数据结构——算法之(001)(在一个数组中找出重复数值)
- 合法IP&窗口最大值数组&打印素数&递归逆序一个栈&栈排序另一个栈&MyString&寻找数组中出现的重复字符&数组中的重复数字&逆序打印链表&空格替换成%20
- 【Android笔记-异常-4】定义一个临时的数组变量承接数据,ListView的数据以及通知数据更新要放到同一个线程(主线程)。避免出现异常"The content of the adapter
- 算法随机在一定范围内(min-max)选出m个不重复的数据放到一个数组中
- 1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次
- 删除数组中重复的数据(不准用集合、框架)
- 用JS编写一个函数,返回数组中重复出现过的元素(实例)
- 题目:1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次
- SQL求一个表中非重复数据及其出现的次数
- 求一个数组重复出现次数最多的元素以及下标位置
- 长度为n的数组,有一个数m重复出现了n/2+1次,找出这个数
- 长度为n的数组,有一个数重复出现了n/2+1次,找出(三种方法)
- 输入一个数组,对数组进行排序,并输出该数组中重复元素出现的次数
- NYOJ 贪心 vector的使用,是一个数组,有重复数据,可以下标访问
- 一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。请找出这个数字(数组指针的方法)