分享一个基于java ArrayList的简单MQ队列,用在连接多个蓝牙设备一个一个连接的应用中
import java.util.ArrayList;public class TestMQ { private static ArrayListconncetMq = new ArrayList (); public static void main(String[] args) { System.out.println(getMq()); addMq("aaa"); addMq("bbb"); addMq("ccc"); addMq("aaa"); addMq("bbb"); System.out.println(getMq()); System.out.println("the arrayList: " + conncetMq); requeueMq("aaa"); System.out.println("the arrayList: " + conncetMq); //index最大的一个是最后添加的 removeMq("bbb"); System.out.println("the arrayList: " + conncetMq); removeMq("bbb"); System.out.println("the arrayList: " + conncetMq); } //获取第一个队列元素 public static String getMq(){ if(conncetMq.size() > 0){ return conncetMq.get(0); } return ""; } //清除元素 public static void clearMq(){ conncetMq.clear(); } //重新排队 public static void requeueMq(String address){ for(String addr : conncetMq){ if(addr.equalsIgnoreCase(address)){ conncetMq.remove(address); conncetMq.add(address); break; } } } //删除队列元素 public static void removeMq(String address){ for(String addr : conncetMq){ if(addr.equalsIgnoreCase(address)){ conncetMq.remove(address); break; } } } //添加队列元素 不能重复 public static void addMq(String address){ boolean inMq = false; for(String addr : conncetMq){ if(addr.equalsIgnoreCase(address)){ inMq = true; break; } } if(!inMq){ conncetMq.add(address); } } }