2012-02-11 38 views

答えて

10

あなたはインデックスを知っていれば、そうでない場合は、リストを反復処理する必要がありますイエローページ

yellowPage yp = ob1.get(index); 

を行うことができます。

Iterator<yellowPate> iter = ob1.iterator(); 
while(iter.hasNext()) 
{ 
    yellowPage yp = iter.next(); 
    yp.whateverYouwantGet(); 
} 

注:ここでコードを入力しただけで、構文エラーが発生する可能性があります。

+1

キャストは必要ありません。 –

+0

私がこれを好きだった場合は、値を "yellowPage @ addbf1"と表示します。そのオブジェクトの内部に値を格納するにはどうしたらよいですか?助けてくださいAmir – user768990

+0

イエローページのクラスには何がありますか、そのゲッターをそこに使用する必要があります。黄色のページを投稿して、アクセスしたい値を教えてください。 – kosa

0

これを行うには、Iteratorオブジェクトを使用します。

ArrayList<yellowPage> ob1 = new ArrayList<yellowPage>(); 
yellowPage thing = new yellowPage(100,100); 
thing.calc(i,y,s3);  
ob1.add(thing); 
yelloPage retrievedThing = null; 
Iterator<yelloPage> i = ob1.iterator(); 
if(i.hasNext()){ 
     retrievedThing = i.next(); 
} 
+0

"取り出した"としてyellowPageオブジェクトを取得した後、それから何でもしてください。 –

0

は、あなたは、単にcalcメソッドから返さthing(恐ろしくという名前の変数)に格納されたデータを持つことができます。このようにして、後続の呼び出しで事前計算の状態を維持する必要はありません。それ以外の場合は、YellowPageクラスのgetter型メソッドが必要です。

public class YellowPage { 

    private int result; 

    public void calc(...) { 
     result = ... 
    } 

    public int getResult() { 
     return result; 
    } 

} 
1
int x=5; 
int info=ob1.get(x).getInfo(); 

上記の例では、あなたの配列リストのOB1の第六インデックス(0カウントされるため)で(getterメソッドを使用して)あなたのイエローページクラスから望んでいたものは何でも情報を取得します。この例では、黄色いページの整数が必要な場合を想定しています。 getterメソッドを作成し、情報を取得する黄色のページのインデックスにxを変更する必要があります。

(あなたのイエローページクラスに入れなければならない)例のgetterメソッドは、次のようになります。zは情報を含む、あなたのイエローページクラスのインスタンス変数であり、上記の場合には

public int getInfo() { return z; } 

をあなたが探しています。あなたはおそらく、自分の状況に合わせてこれを変更する必要があります。

あなたは配列リストに格納されているすべてのイエローページから情報を取得したい場合はChrandra Sekharは、あなたが「整数を交換

ArrayList<Integer> list = new ArrayList<Integer>(); 

構文

-3
Class ArrayList<E> 

を示唆したように、あなたはそれを反復処理する必要があります。そのリストがあるクラスと一緒に。 アプリケーションは、ensureCapacity操作を使用して多数の要素を追加する前に、ArrayListインスタンスの容量を増やすことができます。これにより、増分再配分の量を減らすことができます。 Eは任意のクラスであるElementを表します。 ensureCapacityは、リストに新しい要素を取り込むのに十分な容量があることを保証するために使用されます。これは、新しい項目をリストに追加するたびに内部的に呼び出されます。その名前が示すように、ArrayListは、アイテムを格納するために配列を使用します。したがって、配列が初期化されるとき、それは任意の長さ、たとえば10を与えられます。今度は10個の項目を追加した後、11番目の項目を追加すると、配列の容量を超えてしまいます。したがって、十分なスペースがあることを保証するためにensureCapacityが(内部的に)呼び出されます。したがって、11番目の要素を追加する場合は、配列のサイズが2倍になって20になる可能性があります。

0

リストを出力してtoStringメソッドをオーバーライドします。

public String toString() 
{ 
return (""+ a+b); //Here a and b are int fields declared in class 
} 

System.out.print(ob1); 
関連する問題