急!ArrayList的元素是类对象,Contains怎样判断元素是否已存在?
新人,没分,请见谅!
为了不让ArrayList中不包含同样的元素,
ArrayList中,已经包含了某个元素,但是Contains判断的时候,还是返回false
导致元素被重复加入List.
另做的例子里面,是没有问题的,但是这里就是不行,高手帮忙推测一下,出问题的地方。
调用AddTask函数,是在另一个线程中。
为了不让ArrayList中不包含同样的元素,
ArrayList中,已经包含了某个元素,但是Contains判断的时候,还是返回false
导致元素被重复加入List.
另做的例子里面,是没有问题的,但是这里就是不行,高手帮忙推测一下,出问题的地方。
调用AddTask函数,是在另一个线程中。
//============================================================
// 功 能 : 增加一个附件转换任务(public函数)
// 参 数 : TTaskInfo i_AttachInfo <- 任务信息
// 返回值 : 无
//============================================================
public static void AddTask(TTaskInfo i_AttachInfo)
{
try
{
//判断任务类型
if (i_AttachInfo.m_intPriority == CTASK.HIGH_TASK)
{
//将任务添加到列表
if (m_SocketTaskList.Contains(i_AttachInfo) == false)
{
lock (m_SocketTaskList)
{
m_SocketTaskList.Add(i_AttachInfo);
}
}
}
else if (i_AttachInfo.m_intPriority == CTASK.NORMAL_TASK)
{
//将任务添加到列表
if (m_DBTaskList.Contains(i_AttachInfo) == false)
{
lock (m_DBTaskList)
{
m_DBTaskList.Add(i_AttachInfo);
Console.WriteLine("m_DBTaskList.Count = " + m_DBTaskList.Count);
for (int i = 0; i < m_DBTaskList.Count; i++)
{
Console.WriteLine(((TTaskInfo)m_DBTaskList[i]).GetInfo());
}
}
}
}
...全文
相关推荐
Java中ArrayList去除重复元素(包括字符串和自定义对象)
本文主要介绍了Java中ArrayList去除重复元素(包括字符串和自定义对象)的方法。具有很好的参考价值。下面跟着小编一起来看下吧
Java入门第108课——使用contains方法判断集合中是否包含某元素
判断某集合中是否包含某元素,详细要求如下:1)使用ArrayList构建集合对象cells,使用行和列为(1,2)、(1,3)、(2,3)、(2,3)构建四个Cell类的对象,并将这四个对象放入集合cells中。2)使用行和列为(1,3)构建Cell类的对象cell。3)比较cell对象在集合cells中是否存在。......
C#检查指定对象是否存在于ArrayList集合中的方法
主要介绍了C#检查指定对象是否存在于ArrayList集合中的方法,涉及C#中Contains方法的使用技巧,需要的朋友可以参考下
详解Java中数组判断元素存在几种方式比较
主要介绍了Java中数组判断元素存在几种方式比较,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
java判定数组或集合是否存在某个元素的实例
下面小编就为大家带来一篇java判定数组或集合是否存在某个元素的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


