一.使用Arrays的操作.
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();
- }
-
-
- 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还不太理解,正在研究,有结果后和大家一起共享,那位朋友有相关资料,可以留言