私は以下のようなメソッドを持っています。このメソッドは2つのarraylist( "eventList"と "emailList")を含んでいます。2 ArrayListを返す方法同じメソッドから
答えて
を2つのリストフィールドだけを持つオブジェクトにそれらを追加します。
また、2リストのマップを返すこともできます。それぞれのマップには固有のキーがあります。
をリスト「eventList」と「emailList」の両方を取得する方法
List<EmailUID> emailid=SharedEvent.getEmailUid(filter, uri, exchWD, EmailShare);
public static List<EmailUID> getEmailUid(Filter filter, String uri, NexWebDav exchWD,
List<String> emailShare)
List eventsToday = null;
List<EmailUID> arrayList = new ArrayList<EmailUID>();
List<EmailUID> emailList = new ArrayList<EmailUID>();
List<EmailUID> eventList = new ArrayList<EmailUID>();
for (String email : emailShare) {
String uris = uri + email + "/events/";
InputStream stream = null;
try {
stream = exchWD.get(uris);
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
CalendarBuilder builder = new CalendarBuilder();
net.fortuna.ical4j.model.Calendar calendar = builder.build(br);
//eventsToday.add(email);
eventsToday = (List<?>) filter.filter(calendar.getComponents(Component.VEVENT));
arrayList=getEmailUID(eventsToday,email);
emailList.addAll(arrayList);//
eventList.addAll(eventsToday);//
} catch (ParserException e) {
LOGGER.error("Parse Exception"+e.getMessage());
} finally {
IOUtils.closeQuietly(stream);
}
}
//return eventList;
return emailList;
}
これは、単一の関数から2 return statement
ことはできませんが、あなたは新しいMap
またはList
にラップすることができますし、2つのArrayListを返すことができます。
public Map<String,List<EmailUID>> getList()
List<EmailUID> emailList = new ArrayList<EmailUID>();
List<EmailUID> eventList = new ArrayList<EmailUID>();
...
Map<String,List<EmailUID>> map =new HashMap();
map.put("emailList",emailList);
map.put("eventList",eventList);
return map;
}
List<EmailUID>
オブジェクト、すなわちList<List<EmailUID>>
のリストを作成します。 これにスーパーリストにあなたのリスト(eventList
およびemailList
)を追加してください。そして、このスーパーリストを返す。
このsuperList.get(0); //refers to eventlist
(仮にsuperList
はあなたのメソッドから返されるとevenlist
はそのリストの最初の項目でいた)を使用、後でevenlist
にアクセスするには:あなたが本当にしている場合、あなたがラップする可能性がまあ
これをJavaで簡単に行う方法はありません。両方の要素を含む小さなラッパークラスを作成し、両方のリストのリスト、両方のリストのセット、または両方のリストで2つのエントリを含むMap>を返すことができます。
2つのリストをメンバーとして持つクラスを作成し、そのクラスオブジェクトをリストで返すことができます。
ただ配列に戻すことができます。
public static List[] getEmailUid(Filter filter, String uri, NexWebDav exchWD,
List<String> emailShare) {
//
// Method body
//
return new List[] { eventList, emailList };
}
メソッドの署名を変更する必要があります。選択された戻り値の型に基づいて
ArrayList<String>[]
OR
ArrayList<ArrayList<String>>
に戻り値の型を変更し、コードを編集します。配列が戻り、追加、次の行の前に、戻り値の型として選択されている場合
:
ArrayList<String>[] arr = new ArrayList<String>[2];
arr[0] = eventList;
arr[1] = emailList;
return arr;
同様に、第二のオプションのためのコードを追加することができます。さらなる助けが必要な場合はお知らせください。
- 1. 2 ArrayListと同じArrayList間の戻り値を返します
- 2. 非同期mvc .net:非同期メソッドからビューを返す方法
- 3. doctrine2 findメソッド同じオブジェクトを返す
- 4. VBScript関数からArrayListを返す方法
- 5. 複数のスレッドで同じarraylistにアクセスする方法
- 6. aspx.csから同じプロジェクトの別のaspx.csにメソッドを呼び出す方法は?
- 7. デザインパターン:Javaでほぼ同じ2つのメソッドから重複コードを減らす
- 8. StartActivityForResultから返す同じアクティビティ
- 9. 同じオブジェクトの同期メソッドから同期メソッドを呼び出す
- 10. Javaで同じ名前の2つのメソッドを選択する方法
- 11. のJavaで、別のJVMから同じJNIメソッドにアクセスする方法
- 12. 同じテーブルから同じ行を1行にマージする方法は?
- 13. Struts2のActionList executeメソッドを使用してArrayListを返す方法は?
- 14. Scala:2つのメソッド、異なるパラメータタイプ、同じコード:統一する方法?
- 15. 同じテーブルから2回参加する方法。同じ列でグループ化する
- 16. 同じクラスから別のprivate voidメソッドを呼び出すメソッドをPowerMockでテストする方法は?
- 17. 同じオブジェクトへの2つのarrayListの参照
- 18. 同じプロジェクトから2つのソナーレポートを生成する方法は?
- 19. Unity Framework:同じインターフェースから2つのクラスをインスタンス化する方法は?
- 20. 同じページの2つのIDに同じスクリプトを使用する方法は?
- 21. 非同期メソッドから非同期メソッドを呼び出す方法
- 22. 2同じ機能で射撃を返しますか?
- 23. ArrayListはすべてのインデックスに対して同じ要素を返します
- 24. 方法は同じ型のオブジェクトを返すとき、パラメータオブジェクトも
- 25. 2台のTomcatから同じJMX MBeanサーバーにアクセスする方法
- 26. 同じソリューションで2番目のプロジェクトのコントローラから派生する方法
- 27. 2つのURLが同じページを返すかどうかを確認する方法
- 28. Python tfidfがidfにかかわらず同じ値を返す
- 29. 同じ方法で断片と断片化を返す方法は?
- 30. ElapsedEventHandler内から非同期メソッドを呼び出す方法
ありがとうございます –