2013-02-11 9 views
1

간단한 바이트 FiFo 버퍼를 찾고 있습니다. 나는 하나의 바이트 또는 배열을 넣고 가져와야한다. 하지만 매번 싱글 바이트를 넣고 배열을 만들거나 그 반대로 할 수 있습니다.
나를 도울 수있는 아이디어 나 예제 코드는 무엇입니까?Android/Java 단순 FiFO 버퍼

+0

http://docs.oracle.com/javase/tutorial/collections/interfaces/queue.html을 참조하십시오. –

답변

5

당신은 대기열로 LinkedList을 사용할 수 있습니다 : 당신은 또한 우선 순위를 추가하려면

Queue<String> qe=new LinkedList<String>(); 

    qe.add("b"); 
    qe.add("a"); 
    qe.add("c"); 
    qe.add("e"); 
    qe.add("d"); 

    Iterator it=qe.iterator(); 

    System.out.println("Initial Size of Queue :"+qe.size()); 

    while(it.hasNext()) 
    { 
     String iteratorValue=(String)it.next(); 
     System.out.println("Queue Next Value :"+iteratorValue); 
    } 

    // get value and does not remove element from queue 
    System.out.println("Queue peek :"+qe.peek()); 

    // get first value and remove that object from queue 
    System.out.println("Queue poll :"+qe.poll()); 

    System.out.println("Final Size of Queue :"+qe.size()); 

당신이 사용할 수있는 PriorityQueue

당신이 스레드 안전한 사용을 할 필요하면 ConcurrentLinkedQueue

@Leonidos에 따르면, 하위 레벨 I/O가 필요하지만 신중해야하므로 ByteBuffer을 사용할 수 있습니다.

사용 방법에 대한 설명이 필요하면 언제든지 게시물에 의견을 말하십시오.

2

집중 I/O를 수행하는 경우 사용자의 요구에 맞게 ByteBuffer을 잘 적용하십시오. 그것은 매우 빠르게 작동하고 단일 바이트 데이터 또는 바이트 배열을 쓰고 읽을 수 있습니다. ByteBuffer는 때로는 까다 롭습니다. 조심하십시오)