用例展示Java中的LinkedTransferQueue toString()方法
LinkedTransferQueue是Java中的一个并发集合类,它在ConcurrentLinkedQueue和SynchronousQueue之间提供了一种中间地带的选择。相比于前者它多了一个transfer()方法,用于线程之间的传输数据。这篇文章将会展示该类中的toString()方法的用法。
LinkedTransferQueue类
LinkedTransferQueue类是一个链式集合,支持FIFO(先进先出)和LIFO(后进先出)读取元素的方式。它实现了Queue、TransferQueue和Collection等接口,提供了以下几个方法:
add(E e)
添加元素到集合尾部。
offer(E e)
添加元素到集合尾部,并返回真值,如果集合已经满了返回false。
transfer(E e)
将元素e传递给另一个线程,如果线程正在等待元素,则立即将元素传递给它,否则将元素添加到集合尾部并等待接收该元素。
tryTransfer(E e)
将元素e传递给另一个线程,如果线程正在等待元素,则立即将元素传递给它,否则返回false。
poll()
移除并返回集合头部的元素。
take()
等待并返回集合头部的元素,如果集合为空,则一直等待。
toString()
返回一个包含集合内容的字符串,该方法在debug时十分有用。
toString()方法示例
下面的代码演示了如何使用LinkedTransferQueue的toString()方法:
import java.util.concurrent.LinkedTransferQueue;
public class LinkedTransferQueueToString {
public static void main(String[] args) {
LinkedTransferQueue<String> queue = new LinkedTransferQueue<>();
queue.add("one");
queue.add("two");
queue.add("three");
queue.offer("four");
System.out.println(queue.toString());
}
}
第5行添加了三个元素到集合尾部,第6行使用offer()方法添加第四个元素,由于集合中已经存在3个元素,所以该方法返回false。第7行打印了集合内容的字符串表示,输出结果如下:
[one, two, three, four]
从结果可以看出,toString()方法返回的字符串包含了集合中的元素。
结论
LinkedTransferQueue类是Java中的一个并发集合类,在ConcurrentLinkedQueue和SynchronousQueue之间提供了一种中间地带的选择。它提供了多种方法,包括添加元素、移除元素和等待接受元素等。toString()方法是它提供的一个非常有用的方法,可以在debug过程中帮助我们输出集合中的元素。