- ベストアンサー
ArrayListのなかにtreeを保存する方法。
複数の木を扱うときのことなんですが、 ArrayListのなかにtreeを保存する方法を教えてください。 以下のようにした場合: ArrayList<Node> list = new ArrayList<Node>(); listのなかにはnodeしか入ってない状態になると思うのですが、 この状態で、どのように木として扱えばいいのでしょうか? たとえばarraylistのindexが0と1のとこにAVLtreeを入れる場合、 その入れ方や、それぞれの木のnodeの参照の方法があれば教えてください。 一応、木が一つしかない場合の基本的なnodeの編集、add, delete, traverseについてはわかっています。どうかよろしくおねがいます。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- ArrayList で配列を扱う場合の記述方法について
ArrayList で配列を扱う場合の記述方法について、 探しきれないのでご教授お願いします。 ArrayList list = new ArrayList(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (int i = 0; i < list.size(); i++) { System.out.println(i+"は"+list.get(i)); } という箇所をArrayList<Date>listを使って書き直すのはどのようになるでしょうか。 ArrayList<Date>list= new ArrayList<Date>(); list.add("AAA"); list.add("BBB"); list.add("CCC"); for (int i = 0; i < list.size(); i++) { System.out.println(i+"は"+list.get(i)); } とすると、 型 ArrayList<Date> のメソッド add(Date) は引数 (String) に適用できません。 というエラーになってしまいました。
- ベストアンサー
- Java
- ArrayListに入っているデータで・・・
addしたデータの位置を知りたいのですが、 たとえばtest2はlist内の何番目にあるか 調べる場合、どうすればわかるでしょうか? よろしくお願いします! List list = new ArrayList(); list.add("test3"); list.add("test1"); list.add("test2"); … …
- ベストアンサー
- Java
- ArrayListのイテレータについて
java初心者です. 以下のようなプログラム(かなり簡略化しています)で ArrayList<Integer> list =new ArrayList<Integer>(); list.add(new Integer(1)); Iterator it = list.iterator(); while(it.hasNext()){ it.next() if(Math.random()<0.5) list.add(new Integer(2));//50%の確率で"2"を追加 }; arraylistの「先頭からイテレータを使って呼び出していくのと同時に,後ろに50%の確率で"2"を追加していきたい」のですが, うまく動作しません.「」の中のような動作を行うには,どうすればいいでしょうか? よろしくお願いします.
- 締切済み
- Java
- arraylist 二次元配列
こんにちは 今アレイリストの二次元配列を学習しています DBからデータを取得で表示したいと思っています そこでfor文の拡張とつかうとうまくいうのですが 普通に記述するとうまくいきません 拡張FOR 文を使うのは初めてなので 何が違うかアドバイスお願いします コンパイルできません↓ if(request.getAttribute("list")!=null || request.getAttribute("list1")!=null || request.getAttribute("list2")!=null){ ArrayList<ArrayList> hai = new ArrayList<ArrayList>(); ArrayList list = (ArrayList)request.getAttribute("list"); if (list != null) { hai.add(list); } ArrayList list1 = (ArrayList)request.getAttribute("list1"); if (list1 != null) { hai.add(list1); } ArrayList list2 = (ArrayList)request.getAttribute("list2"); if (list2 != null) { hai.add(list2); } for (int i = 0; i < hai.get(0).size(); i++) { %> <table border="3"> <tr> <% for (int k = 0 ; k <= hai.size(); k++) { %> <td width="60"> <% out.print(hai.get(i)); } %> コンパイルOK 表示できています <% if(request.getAttribute("list")!=null || request.getAttribute("list1")!=null || request.getAttribute("list2")!=null){ ArrayList<ArrayList> hai = new ArrayList<ArrayList>(); ArrayList list = (ArrayList)request.getAttribute("list"); if (list != null) { hai.add(list); } ArrayList list1 = (ArrayList)request.getAttribute("list1"); if (list1 != null) { hai.add(list1); } ArrayList list2 = (ArrayList)request.getAttribute("list2"); if (list2 != null) { hai.add(list2); } for (int i = 0; i < hai.get(0).size(); i++) { %> <table border="3"> <tr> <% for (ArrayList list4 : hai) { %> <td width="60"> <% out.print(list4.get(i)); } %> <br> </tr> </table> <% 上のソースの エラーメッセージ 2013/04/16 9:24:12 org.apache.catalina.core.ApplicationDispatcher invoke 致命的: サーブレット jsp のServlet.service()が例外を投げました java.lang.IndexOutOfBoundsException: Index: 2, Size: 2 よろしくお願いします
- ベストアンサー
- Java
- ArrayListはオブジェクトのポインタを渡している?
ArrayListはオブジェクトのポインタを渡している? 例えば、一つのメソッド内に以下のように書くと、出力は最下部のようになります。 listに入れたモデルを取り出さずにModelを変更しても、listに入れたモデルを変更したのと同じことが出来ています。 C言語で言うところの(Cはあまり覚えていませんが…)、ポインタを渡しているようなイメージになるのでしょうか? --コード-- Model model1 = new Model("model1"); Model model2 = new Model("model2"); ArrayList list = new ArrayList<Model>(); list.add(model1); list.add(model2); showList(list); model1.setName("model1_"); showList(list); --出力-- model1 model2 model1_ model2
- ベストアンサー
- Java
- ArrayListなどのソート
いつもお世話になっています。ArrayListなどをソートする際に、Comparatorインターフェースを実装したクラスを利用して、辞書順や数値順などでソートすることは出来ますよね。これを任意の単語の順番にソートするにはどのようにすればよいのでしょうか。つまり、下記例において、文字列順ではなくて、"ONE", "TWO", "THREE", "FOUR"の順番にソートしたいのです。 ArrayList list = new ArrayList(); list.add("THREE"); list.add("ONE"); list.add("FOR"); list.add("TWO"); やはりcompare()メソッド内で総当り的に比較するしかないのでしょうか。 開発環境はJDK1.4です。事情により返答が遅れてしまうかもしれませんが、どうぞ宜しくお願い致します。
- ベストアンサー
- Java
- ArrayList::getメソッドは何で不便に作られている?
ArrayList::getメソッドはObject型を返却しますよね。 そのため、たとえば、 ArrayList list = new ArrayList(); Integer aaa = new Integer(); list.add(aaa); Integer aaa2 = (Integer)list.get(0); のように、Integerでリストに追加したものを取り出すのに わざわざIntegerでキャストしなければなりません。 なんで、こんな不便な仕様になっているのでしょうか?
- ベストアンサー
- Java
- ArrayList の継承について(初心者です)
買い物かごクラスのプログラムを作っています。 このソースはフィールドにListを持たせているのですが、ArrayList を継承 してCartクラスを作りたいです。そうすることで、CartクラスのaddItem() メソッドやremoveItem()メソッドはmainでメソッドを呼び出せば良いため、 不要になると思うのですが、合計金額を求めるときに、どのように商品値段 を参照していいのかわかりません。 また、ArrayList を継承する場合、public class Cart extends ArrayList という書き方で良いのでしょうか? public class Cart { List<Item> itemList = new ArrayList<Item>(); public ShoppingCart(){} //商品をカートに追加 public void addItem(Item item){ itemList.add(item); } //カート内に入っている商品の合計金額を返却 public int getTotalPrice(){ int total=0; for(int i=0;i<getItemSize();i++){ total+=itemList.get(i).getPrice(); } return total; } //リストの指定された位置にある要素を削除 public void removeItem(int index){ itemList.remove(index); } }
- 締切済み
- Java
- C#.NET ArrayListの使用方法について
C#.NETを使用しています。ArrayListを宣言、インスタンス化し、 "別々の値を持つ"要素20個をAdd(追加)しているはずなのですが、 要素を取り出して、値を見てみると"同じ値"になってしまっています。 自分なりに考えたのですが原因がわかりません。 どなたかご教授お願いします。 書いたソースは以下のような感じです。 public class Area{ _____// リスト _____public ArrayList list; _____//コンストラクタ _____public Area(){ _________ list = new ArrayList(); __________//要素の作成は以下で行う __________for(int cnt=0;cnt<20;cnt++){ ___________ AddNodeList(new 要素); } _____} _____public void AddNodeList(要素){ _______要素型 a = 要素; _______list.Add(a); _____} }
- 締切済み
- C・C++・C#
- ArrayList
課題プログラムの中で、いくつかArrayListを使ったメソッドを作って動かすものが出題されているのですが、そのうち「ArrayListの文字を反転させて出力する」というのがわかりません。 何を使ったらよいでしょうか? ちなみに、私の書いたプログラムの中では、 ArrayList<String> list = new ArrayList<String>(); としていますので、それで書いて下さると嬉しいです。 また、課題の中で、listの中に入っているのは、String型のアルファベット10個です。 教えて下さい、よろしくお願いします。 ▼参考API http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/ArrayList.html
- ベストアンサー
- Java
- VersaProのメモリ増設について質問があります。メモリを増設することにより、パソコンの動作が向上するのか知りたいです。
- VersaProのPC-VKT42BZCBというノートパソコンにメモリ増設が可能なのか教えてください。
- VersaProのノートパソコンで有線LAN接続していますが、メモリを増設することで通信速度が向上するのでしょうか。
お礼
やってみます ありがとうございました