Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Javaでのリングバッファ構造

おはようございます。

今、JAVAで、socketから受信したデータをバッファに保存して、その内容を編集して表示するようなプログラムを作成しているのですが、そのバッファの構造を、領域の最後まで受信したら最初に戻るリングバッファのような構造にしたいのですが、JAVAだとどうもpush, pop等の仕組みが判りません。
もらうデータの型はStringになっています。もしこのおうな構造を作った事がある、という方がいらしたらアドバイスをお願いいたします。

3

回答

85488

閲覧

3件の回答

評価

0

push popがどう関係してるのかが読めない…。

byte[] buffer = new byte[LENGTH];

に対して

buffer[index++] = byte_data;
index %= LENGTH;

というようなことじゃないの?

評価

0

>>push popがどう関係してるのかが読めない…。
Cでやってた時にポインタ使ってやってたんで・・。
あまり気にしないで下さい。
混乱させて申し訳ありません。


>>index %= LENGTH;
賢い・・・・。
そういう方法もありますね。

byteのbufferにStringって入れる事できるんですね。
Stringって確か書き換えできないと思ってたんですが、
byteなら大丈夫なのかな。

早いレスありがとうございます。

評価

0

Javaでもポインタは使われてますよ。ポインタ宣言しかできないから見えないだけで。
push/popはスタック構造じゃ…?

それはともかく、なんとなく分かったような…。

String[] buffer = new String[LENGTH];

buffer[index++] = received_string;
index %= LENGTH;

ということかな?

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。