一.使用Arrays的操作.
1. toString(Object[] a) :返回指定数组的内容的字符串表示形式.
2. deepToString(Object[] a) :返回指定数组“深层内容”的字符串表示形式,他接受的对象是数组,也就是说他可以打印出数组中的数组。
3.deepEquals(Object[] a,Object[] b) :比较两数组是不是深层相等,相等返回true,否则false;
4. fill() :主要是把指定的制,分配给数组中制定的制。参数形式不定,具体看javaDoc.
5. clone() 创建并返回此对象的一个副本
例子:
二.queue 使用(frist in first out or list in first out)
特点:1.添加删除和传统的collection不相同。
2.queue有固定的大小,使得在添加和删除的时候注意异常抛出。
3.LinkedList 被改造实现queue接口,也可以把它当作一般的 list来使用
方法摘要:
1.element() : 检索,但是不移除此队列的头。
2.offer(E o) : 如果可能,将指定的元素插入此队列。
3.peek() : 检索,但是不移除此队列的头,如果此队列为空,则返回 null。
4.poll() : 检索并移除此队列的头,如果此队列为空,则返回 null。
5.remove() : 检索并移除此队列的头。
Queue排序:
PriorityQueue另外一种Queue的实现,PriorityQueue使用Comparator来排序他的项目。默认是现实"自然排序"从小到大
例子:
注释: 对comparator还不太理解,正在研究,有结果后和大家一起共享,那位朋友有相关资料,可以留言
1. toString(Object[] a) :返回指定数组的内容的字符串表示形式.
2. deepToString(Object[] a) :返回指定数组“深层内容”的字符串表示形式,他接受的对象是数组,也就是说他可以打印出数组中的数组。
3.deepEquals(Object[] a,Object[] b) :比较两数组是不是深层相等,相等返回true,否则false;
4. fill() :主要是把指定的制,分配给数组中制定的制。参数形式不定,具体看javaDoc.
5. clone() 创建并返回此对象的一个副本
例子:
java 代码
import java.util.Arrays; public class ArrayEG { private int arry[]; public ArrayEG(int num){ arry = new int[num]; for(int i=0;i arry[i] = i * i; } } public int[] getArray(){ return arry; } public static void main(String[] arg){ ArrayEG test = new ArrayEG(3); int[] myArray = test.getArray(); int[] myArray1 = test.getArray().clone(); if(Arrays.equals(myArray,myArray1)){ System.out.println("---Arrays are equal--"); }else{ System.out.println("----Arrays are not equal----"); } System.out.println("--print array[]-->"+Arrays.toString(myArray)); Arrays.fill(myArray,1,2,9); String[][] number = {{"X","Y"},{"O","P"}}; String[][] number1 = {{"X","Y"},{"P","O"}}; if(Arrays.deepEquals(number,number1)){ System.out.println("-------Array are equal-----"); }else{ System.out.println("----- Array are not equal--------"); } System.out.println("---print arrays[][]--->"+Arrays.deepToString(number)); } }
二.queue 使用(frist in first out or list in first out)
特点:1.添加删除和传统的collection不相同。
2.queue有固定的大小,使得在添加和删除的时候注意异常抛出。
3.LinkedList 被改造实现queue接口,也可以把它当作一般的 list来使用
方法摘要:
1.element() : 检索,但是不移除此队列的头。
2.offer(E o) : 如果可能,将指定的元素插入此队列。
3.peek() : 检索,但是不移除此队列的头,如果此队列为空,则返回 null。
4.poll() : 检索并移除此队列的头,如果此队列为空,则返回 null。
5.remove() : 检索并移除此队列的头。
Queue排序:
PriorityQueue另外一种Queue的实现,PriorityQueue使用Comparator来排序他的项目。默认是现实"自然排序"从小到大
例子:
java 代码
- import java.util.Queue;
- import java.util.LinkedList;
- import java.util.PriorityQueue;
- import java.util.Comparator;
- import java.io.PrintStream;
- public class QueueTest {
- public Queue q;
- public QueueTest(){
- q = new LinkedList();
- }
- //测试FIFO
- public void testFIFO(PrintStream out){
- q.offer("Event_1");
- q.offer("Event_2");
- q.offer("Event_3");
- Object o;
- while((o=q.poll())!=null){
- out.println(o);
- }
- }
- public static void main(String[] arg){
- QueueTest qt = new QueueTest();
- System.out.println("Test first in first out....................");
- qt.testFIFO(System.out);
- System.out.println("Test queue...................... ");
- qt.testPriorityQueue();
- System.out.println("Test queue by comparator....................");
- qt.testPriorityQueueByComparator();
- }
- public void testPriorityQueue(){
- PriorityQueue<integer> pq = new PriorityQueue<integer>(</integer>20); </integer>
- for(int i = 0;i<20;i++){
- pq.offer(20-i*2);
- }
- for(int i=0;i<20;i++){
- System.out.println("----Queue print---->"+pq.poll());
- }
- }
- public void testPriorityQueueByComparator(){
- PriorityQueue<integer> pg = new PriorityQueue<integer>(</integer>20,new Comparator<integer>(){ </integer></integer>
- public int compare(Integer i,Integer j){
- return i>j ? i : j;
- }
- });
- for(int i = 0; i<20 ;i++){
- pg.offer(15-i);
- }
- for(int i = 0;i<20;i++){
- System.out.println("-----Queue print with comparator-------〉"+pg.poll());
- }
- }
- }
注释: 对comparator还不太理解,正在研究,有结果后和大家一起共享,那位朋友有相关资料,可以留言