- bufferings
- 2451
- 0
- 3
- 0
listプロパティって順番保証されてましたっけ?もちろんSetじゃなくてListで入れた場合。 http://bit.ly/cuneNj #appengine
2010-02-25 21:40:36@urekat Protocol Bufferの仕様を見るのが確実ですが、listはそのまま保存されているはず #appengine > listプロパティって順番保証されてましたっけ?
2010-02-26 10:48:59#appengine のCollectionで順序が保証されないのはSetを使った場合、SortedSetなら大丈夫。じゃないとSortedSetがサポートされている意味がない。LLAPI的にはListで扱われます
2010-02-26 11:16:01@higayasuo Set系はSortedSetなら順番保持されるんですね。Listの場合も保持されるのでしょうか?
2010-02-26 12:18:30@fragilecode LLAPI的にはList(しか受け付けない)なので順番は保持されるはずですよ #appengine
2010-02-26 12:22:00@higayasuo ありがとうございます。すなおな実装ならそうなるはずですしね。仕様がどうなのかが見つからないのです。Java/PythonのAPI層でどうなってるのか、PB層でどうなってるのか。 #appengine
2010-02-26 12:50:10@higayasuo http://bit.ly/cuneNj TreeSet may be returned as a List ってあるからsetかlistを受け付けないですかね?ためしてないけど。
2010-02-26 13:05:02@urekat repeated elementsにThe order of the elements with respect to each other is preserved書いてあるので順番は保証されるはず http://ow.ly/1bshr #appengine
2010-02-26 13:09:49@urekat SetやSortedSetはJDO/JPAを意識してのことだと思います。受け付けるのはListだけ #appengine
2010-02-26 13:11:29@higayasuo 実際上は保証されていると私も思ってますが、なぜ http://bit.ly/cuneNj に "All Collections are prone to losing their sort order"と書いているかが謎です…
2010-02-26 13:13:17前にも書いたけど(前はPBのドキュメントへのリンクも張った)、PBの繰り返しは順序が保証されているのでListの順序は保証されているはずです #appengine
2010-03-13 11:03:15LLAPIの中では繰り返し(Collection)はArrayListで扱われています。LLAPIに渡すときにはCollectionなら大丈夫だけど、LLAPIから受け取るときはすべてArrayListです #appengine /j
2010-03-13 11:11:16#appengine /jがいろいろなList,Set,SortedSetをサポートしているように見えるのは各種ライブラリがArrayListから変換しているからです。内部的にはArrayListのみ
2010-03-13 11:13:46