java arraylist 函数_Java Extend ArrayList函数
讓我說我有
class Dummy {
String a, b;
public Dummy(String a, String b) {
this.a = a;
this.b = b;
}
public String toString(){
return a+b;
}
public String getA() {
return a;
}
public String getB() {
return b;
}
}
我想擁有
List myList = new ArrayList() {{
add(new Dummy("test", ""));
add(new Dummy("boo", "o"));
}};
System.out.println( myList.toString());
System.out.println( myList.getAs()); //should return ["test", "boo"]
System.out.println( myList.getBs());//should return ["", "o"]
如果你明白我的意思
可能要創建類擴展ArrayList< Dummy> ?
編輯:
看起來很不錯
class Dummy {
String a, b;
//...
public static String toAString(List l){
String s="";
for (Dummy d : l){
s+=d.a;
}
return s;
}
}
EDIT2:
我在Dummy中只有2個字符串,最好做一個ArrayList< String []>相反?在記憶方面
解決方法:
定義與getA和getB對應的第一類函數.我正在使用Guava的功能.
class Dummy {
String a, b;
public Dummy(String a, String b) {
this.a = a;
this.b = b;
}
public String toString(){
return a+b;
}
public String getA() {
return a;
}
public String getB() {
return b;
}
public static Function getA = new Function() {
public String apply(Dummy d) {
return d.a;
}
}
public static Function getB = new Function() {
public String apply(Dummy d) {
return d.b;
}
}
}
這就是你如何使用它:(下面的Iterables也來自Guava).
List myList = new ArrayList() {{
add(new Dummy("test", ""));
add(new Dummy("boo", "o"));
}};
System.out.println( myList.toString());
System.out.println( Iterables.transform(myList, Dummy.getA)); // returns ["test", "boo"]
System.out.println( Iterables.transform(myList, Dummy.getB)); // returns ["", "o"]
標簽:java,arraylist,inheritance,list
來源: https://codeday.me/bug/20190620/1249151.html
總結
以上是生活随笔為你收集整理的java arraylist 函数_Java Extend ArrayList函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: es mysql延迟_ES 近实时搜索
- 下一篇: java console 交互_实例讲解