本文整理汇总了Java中java.util.concurrent.CopyOnWriteArrayList.contains方法的典型用法代码示例。如果您正苦于以下问题:Java CopyOnWriteArrayList.contains方法的具体用法?Java CopyOnWriteArrayList.contains怎么用?Java CopyOnWriteArrayList.contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.util.concurrent.CopyOnWriteArrayList
的用法示例。
在下文中一共展示了CopyOnWriteArrayList.contains方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: registerObserver
import java.util.concurrent.CopyOnWriteArrayList; //导入方法依赖的package包/类
/**
* 给某一个任务注册一个监听器
*
* @param taskId
* 任务ID
* @param observer
* 监听器
*/
@Override
public void registerObserver(String taskId, Observer observer) {
CopyOnWriteArrayList<Observer> observerList;
if (taskObservers.containsKey(taskId)) {
observerList = taskObservers.get(taskId);
if (observerList == null) {
observerList = new CopyOnWriteArrayList<>();
}
} else {
observerList = new CopyOnWriteArrayList<>();
}
if (observerList.contains(observer)) {
return;
}
observerList.add(observer);
taskObservers.put(taskId, observerList);
}
示例2: removeObserver
import java.util.concurrent.CopyOnWriteArrayList; //导入方法依赖的package包/类
/**
* 给某一个任务移除某一个监听器
*
* @param taskId
* 任务ID
* @param observer
* 监听器
*/
@Override
public void removeObserver(String taskId, Observer observer) {
if (taskObservers.containsKey(taskId)) {
CopyOnWriteArrayList<Observer> observerList = taskObservers.get(taskId);
if (observerList != null && observerList.contains(observer)) {
observerList.remove(observer);
}
}
}
示例3: addCharacteristicsChangedListener
import java.util.concurrent.CopyOnWriteArrayList; //导入方法依赖的package包/类
@Override
public void addCharacteristicsChangedListener(UUID characteristicsUUID, CharacteristicsChangedListener listener) {
synchronized (lock) {
CopyOnWriteArrayList<CharacteristicsChangedListener> list = changeListeners.get(characteristicsUUID);
if (list == null) {
list = new CopyOnWriteArrayList<>();
list.add(listener);
changeListeners.put(characteristicsUUID, list);
} else if (!list.contains(listener)) {
list.add(listener);
}
}
}
示例4: subscribe
import java.util.concurrent.CopyOnWriteArrayList; //导入方法依赖的package包/类
/**
* 按照MessageType存储订阅者列表,这里的MessageType就是消息类型,一个消息对应0到多个订阅者.
*
* @param xulMessage 消息
* @param subscription 订阅者对象
*/
private void subscribe(XulMessage xulMessage, XulSubscription subscription) {
CopyOnWriteArrayList<XulSubscription> xulSubscriptionLists = _subscriberMap.get(xulMessage);
if (xulSubscriptionLists == null) {
xulSubscriptionLists = new CopyOnWriteArrayList<XulSubscription>();
}
if (xulSubscriptionLists.contains(subscription)) {
return;
}
xulSubscriptionLists.add(subscription);
// 将消息类型key和订阅者信息存储到map中
_subscriberMap.put(xulMessage, xulSubscriptionLists);
}