• 締切済み

ArrayList とSortedList

ArrayList とSortedListこの二つの違いは何でしょうか。sortedListのほうが機能的にarrayList もかねているように見えるのです。二つの明確な違いが知りたいです。

みんなの回答

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.4

二番目に投稿したものです。 勘違いして意味のない投稿をしてしまいました。 私の投稿は無視してください。 迷惑をかけて申し訳ありませんでした。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

SortedListの使用例です Dim sl As New System.Collections.SortedList() sl.Add("aaaa", 100) sl.Add("cccc", 120) sl.Add("bbbb", 130) Dim i As Integer for i = 0 to sl.Count - 1 System.Console.Write(sl.GetKey(i).ToString() & ":") System.Console.WriteLine(sl.GetByIndex(i).ToString()) Next i '実行結果(キーでソートされている) 'aaaa:100 'bbbb:130 'cccc:120

全文を見る
すると、全ての回答が全文表示されます。
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

ちょっと待ってください、 ArrayListってのはjava.util.ArrayListのことだと分かるんですが、SortedListって何のことですか?

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

ArrayListは可変長の配列のようなもの。 SortedListはHashtableとArray両方の特性を備えているので、キーでも添え字でも値にアクセスできる。 SortedListは並べ替えが必要になるのでHashtableに対する操作よりも遅くなる傾向がある。 単純に可変長の配列が使いたい場合はArrayList、 追加した項目をキーでソートしたい場合はSortedListを使えばよいのではないでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ArrayListについて

    ArrayListについて、詳しい方にお願いします。 インターフェースというのは、解るのですが もっと詳しい説明が欲しいのです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 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
  • ArrayListにArrayListを用いた場合の対応について

    public static ArrayList<Integer> f1 = new ArrayList<Integer>(); public static ArrayList<ArrayList> f2 = new ArrayList<ArrayList>(); public void parse(Context ct){   if(ct.match("f")){ ct.nextToken(); while(ct.currentToken() != null && ct.currentToken().matches("[0-9]+/[0-9]*/[0-9]+")){ f1.add(ct.fToken(ct.currentToken())); ct.nextToken(); } f2.add(f1); f1.clear(); System.out.println(f2); 例f⇒f 1/4/3 2/5/6 4/5/6  1行⇒[1,2,4]  1/3/5 7/1/2 8/3/4  2行⇒[1,7,8]         ・         ・         ・   回答例⇒[[1,2,4],[1,7,8],[…],…,[…]] 上記のようなobj形式のf行をそれぞれ1行ごとに頭文字を取り出して(Contextで)、f1=ArrayList<Integer>にaddしていき、1行を読み終わったらf1=ArrayList<Integer>をf2=ArrayList<ArrayList>にaddしていき、最終的には回答例のような形にしたいです。 私はf1にaddした数字をf2にf1をaddして、その後f1をclearしてその空いたf1にまた次の行の数字をaddさせるつもりだったのですが、f1をクリアしてしまうと一度f2にaddしたはずのものも消えてしまうことに気づきました。 どのように改造すれば回答例のようにf2のArrayListにf1のArrayListをいくつもいれて表示することができますか。 教えてください。

  • JAVA  ArrayListからArrayListへのコピー

    java で、ArrayListからArrayListへコピーはできるのでしょうか? clone()というメソッドがありましたが、よくわからず、コピーできてないようなので伺いました。 ベーシックではできるようですが、JAVAでもできるのでしょうか? どなたか教えていただけませんでしょうか?

    • ベストアンサー
    • Java
  • ArrayListへArrayListの格納

    お世話になっております。 ArrayListを2つ使用して2次元配列のような事をしようとしております。 データベースから取得したデータの1行をArrayListItemへ格納してそのArrayListItemをArrayListRecordへ格納しようとしております。 追加し終わり最後にArrayListRecordの中身を見ると全て一番最後のデータで置き換わっています。 どなたかご存知でしたらお教え願います。 ' 変数宣言 Dim objSqlDR As SqlDataReader Dim alSetItem As ArrayList Dim alSetRecord As ArrayList alSetItem = New ArrayList alSetRecord = New ArrayList ' データ取得分ループ While objSqlDR.Read()  alSetItem.Clear()  For intSetIndex = 0 To (objSqlDR.FieldCount - 1)   alSetItem.Add(objSqlDR(intSetIndex))  Next intSetIndex  alSetRecord.Add(alSetItem) End While

  • ArrayListなかへのArrayListオブジェクトのセット方法

    スケジュールのプログラムを作成していまして、1日分のオブジェクトをArrayListにいれて、さらに、1日分のArrayLisのオブジェクトを1ヶ月のArrayListにいれました。 そこで、1ヶ月のArrayListのオブジェクトから1日のArrayListのオブジェクトに分解して、表示したところに、最後の日にちの件数が表示されました。 1.ArrayListにオブジェクトをいれますと、うまく表示されます。 2.ArrayListにArrayListオブジェクトをいれまして、総件数を表示したら、1日から31日までのArrayListのsizeメソッドが最後の日にちが表示されます。よって1日から30日のArrayListに31日分のArrayListが上書きされているように思われます。 1と2の違いと原因をご教授下さい。 //arraylist作成1ヶ月分。 public ArrayList setMonth(int year,int month,int user_id){ -省略- ArrayList monthList=null; for(int count=1; count<=day; count++){ monthList=new ArrayList(); ArrayList dayList=new ArrayList(); dayList=setDay(year,month,count); monthList.add(dayList); } for(int a=0; a<monthList.size(); a++){ ArrayList saa = (ArrayList)monthList.get(a); int mm= saa.size(); System.out.println("mm:"+mm); } return monthList; -省略- } //ArrayList作成1日分 public ArrayList setDay(int year,int month,int day){ ArrayList aList = new ArrayList(); -省略- while(rs.next()){ Allday schAll=new Allday(); schAll.setSchedule_id(rs.getInt("schedule_id")); schAll.setContents(rs.getString("contents")); aList.add(schAll); } for(int b=0; b<aList.size(); b++){ int si= ((Allday)aList.get(b)).getSchedule_id(); String con=((Allday)aList.get(b)).getContents(); } return aList; -省略- }

    • ベストアンサー
    • Java
  • ArrayListのキャスト

    JavaのArrayListについて質問します。 Class A extends OyaA の関係があります。 ArrayList<A> arrayA と ArrayList<OyaA> arrayOyaA で  arrayOyaA=(ArrayList<OyaA>)arrayA;  arrayA=(ArrayList<A>) arrayOyaA; のCastを行いたいとおもいます。コンパイルエラーになってしまいます。 Castする方法はありますでしょうか。 なければ上手くデータ変換する方法を教えてください。 何卒宜しくお願い致します。

  • ArrayListの質問。

    ロジックの質問なのですが、、 ValueObjectクラス  private boolean flg = false;  private String strYMD; それぞれgetter/setter あらかじめ、aValの方にsetterで、20040626とセットします。 このオブジェクトをArrayListへaddしていきます。 ここで、String[] strYMDArray ={"20040623","20040626","20040622"}; という配列があります。 このとき、ArrayListの中身の要素数でループさせて、 配列strYMDArrayの日付と、ArrayList内のValueObjectの日付を比較し、同じであれば、 ValueObjectのflgをセットし、再度、ArrayListへつめなおしてやらなければなりません。 しかし、うまい方法を思い浮かべることができません。 どうか、うまい方法をおしえてくださいませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • C# ArrayList内の要素の並べ替え。

    C#についての質問です。 現在、ArrayListを用いた情報管理リストのプログラムを作成しています。 そのプログラムにソートを行う機能をつけたいのですが、そこで質問です。 ArrayList内の要素を、「特定のフィールド(例えば氏名であったり、年齢であったりするのですが…)を基準として昇順または降順にソートする」という処理を行う際、IComparable および IComparerを使用する以外の方法で、この機能を実装することは可能でしょうか? 独自に調べてはみたのですが、いまいちわからず、質問させていただきました。 お分かりになられる方がいらっしゃいましたら、ご助言をお願いいたします。

  • C# ArrayListを二次元配列のように使用したい。

    C#についての質問です。 現在、ArrayListを用いた情報管理リストのプログラムを作成しています。 そのプログラムにソートを行う機能と、検索機能をつけたいのですが、そこで質問です。 ArrayList内の要素を、「特定のフィールド(例えば氏名であったり、年齢であったりするのですが…)を基準として昇順または降順にソートする」という処理、またあるフィールドのみを基準に検索を行うという処理を行う際、ArrayListを二次元配列のように使用することが出来たら便利だな、と思ったのですが、そのようなことは可能でしょうか? いろいろと試したり、独自に調べてはみたのですが、いまいちわからず、質問させていただきました。 お分かりになられる方がいらっしゃいましたら、ご教授いただければと思います。 よろしくお願いいたします。

MFC-J6997CDWの両面印刷トラブル
このQ&Aのポイント
  • MFC-J6997CDWでの両面印刷ができない問題について相談します。
  • 印刷時に必ず紙詰まりが起こるため、裏面への印刷ができません。
  • Windows10で使用しており、無線LANで接続しています。ひかり回線を使用しています。
回答を見る