08-08-2013, 08:09 PM
08-08-2013, 08:16 PM
if 句を使って判断するほうがコストは低いかもしれませんが、
私は、ハッシュテーブルを使っています。
私は、ハッシュテーブルを使っています。
Code:
{do
def ary = {{Array-of int} 1,1,2,3,1,5,3}
def hst = {{HashTable-of int, bool}}
{for i in ary do {hst.set i, true} }
def vb = {VBox "ユニーク化された値の一覧"}
{for i in {hst.keys-to-Iterator} do {vb.add i} }
{popup-message vb}
}
08-09-2013, 10:13 AM
データ量にもよるんですが、最近のPCスペックだとハッシュを多用しても
気にするほど負荷は上がらないかも、と思うことがあります。
もちろん、メモリ負荷をかけない前提でプログラムするのが最善ですが。
ちょっとケースが違うかもしれませんが、そもそもインスタンスを重複させたくない場合は
Flyweightのパターンを利用して実装するのも手だと思います。
http://ja.wikipedia.org/wiki/Flyweight_%...C%E3%83%B3
これの場合、FlyweightFactoryにインスタンスが集約されているうえ、
何処からオブジェクトが重複されないという保証があるので、集団開発では有用です。
気にするほど負荷は上がらないかも、と思うことがあります。
もちろん、メモリ負荷をかけない前提でプログラムするのが最善ですが。
ちょっとケースが違うかもしれませんが、そもそもインスタンスを重複させたくない場合は
Flyweightのパターンを利用して実装するのも手だと思います。
http://ja.wikipedia.org/wiki/Flyweight_%...C%E3%83%B3
これの場合、FlyweightFactoryにインスタンスが集約されているうえ、
何処からオブジェクトが重複されないという保証があるので、集団開発では有用です。