mx.utls.LinkedListの使い方が分からない
pushすると謎のvalue=0のnodeが両端に入ってきて超邪魔。
(出力の3行目)
1個も入ってない状態だと、node = linkedList.headでnullが入るので
結局whileの条件を2個書くことになる。
どうするのが正しいのこれ?
/**
* Copyright tail_y ( http://wonderfl.net/user/tail_y )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/qTUM
*/
package {
import flash.display.Sprite;
import flash.text.TextField;
import mx.utils.LinkedListNode;
import mx.utils.LinkedList;
public class FlashTest extends Sprite {
public function FlashTest() {
var linkedList:LinkedList = new LinkedList();
linkedList.push("a");
linkedList.push("b");
var display:Array = [];
var node:LinkedListNode = linkedList.head;
while(node != null){ // 普通LinkedListってこうやるんじゃないの?個数0の時はhead=nullだし
display.push("node=" + node + " node.value=" + node.value);
node = node.next;
}
display.push("");
display.push(node == linkedList.tail); // この最後のnodeは、tailですらない意味不明。
display.push("");
node = linkedList.head;
while(node != null && node.value != null){ // こうするしか無いの?なんて無駄な
display.push("node=" + node + " node.value=" + node.value);
node = node.next;
}
display.push("");
//
var tf:TextField = new TextField();
tf.width = 400;
tf.height = 400;
tf.text = display.join("\n");
addChild(tf);
}
}
}