如果我理解您的问题,您是在一个函数中执行上述操作,并且希望该函数返回所有三个列表 list1、list2 和 list3。
在这种情况下,您可以返回一个由三个列表组成的数组,或者ArrayList
三个列表中的一个。一般来说,如果我想要一个返回多个值的函数(可能不都是相同的类型),我通常只创建一个小类来包含它们:
private static class KeywordSearchResults {
List<String[]> list1;
List<String[]> list2;
List<String[]> list3;
KeywordResults (List<String[]> list1, List<String[]> list2,
List<String[]> list3) {
this.list1 = list1; this.list2 = list2; this.list3 = list3;
}
}
(我通常将其作为嵌套类来执行;是制作它private
还是public
取决于您的需要。)
通常,声明一个具有非私有字段的类是一个坏主意,但我认为如果您只是将它用作包装器,只是为了从函数返回多个值或创建一个其唯一目的是传递某些字段的对象在一起,并且类中没有任何其他方法,我认为这很好,因为该类并不真正代表一些“更高的概念”。不过,只有在真正合适的情况下,您才会采用这种解决方案;我认为最好环顾四周,看看是否有更好的设计。