JAVA Builder模式构建MAP/LIST的示例
生活随笔
收集整理的這篇文章主要介紹了
JAVA Builder模式构建MAP/LIST的示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們在構建一個MAP時,要不停的調用put,有時候看著覺得很麻煩,剛好,看了下builder模式,覺得這思路不錯,于是乎,照著用builder模式寫了一個構建MAP的示例,代碼如下:
import java.util.HashMap; import java.util.Map;public class MapBuilder<T> {public Builder<T> b;public MapBuilder(Builder<T> b){this.b = b;}public Map<String,T> map(){return b.map;}public T get(String key){return b.map.get(key);}public static class Builder<T>{public Map<String, T> map;public Builder(){map = new HashMap<String, T>();}public Builder<T> map(String key, T value){map.put(key, value);return this;}public MapBuilder<T> build(){return new MapBuilder<T>(this);}}public static void main(String[] args) {MapBuilder<String> build = new MapBuilder.Builder<String>().map("a", "b").build();System.out.println(build.get("a"));}} public class ListBuilder<T> {public Builder<T> b;public ListBuilder(Builder<T> b){this.b = b;}public List<T> list(){return b.list;}public T get(int index){return b.list.get(index);}public static class Builder<T>{public List<T> list;public Builder(){list = new ArrayList<T>();}public Builder<T> add(T value){list.add(value);return this;}public ListBuilder<T> build(){return new ListBuilder<T>(this);}}public static void main(String[] args) {ListBuilder<String> build = new ListBuilder.Builder<String>().add("a").add("b").build();System.out.println(build.get(0));}}?
?
?
代碼很簡單,甚至都不用特殊說明,但里面的知識點還是蠻多的,比如builder模式,比如泛型的使用。
大家可以在項目中試用一下,能使代碼更加的簡潔漂亮!
總結
以上是生活随笔為你收集整理的JAVA Builder模式构建MAP/LIST的示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OGNL表达式语言中的#和$的区别
- 下一篇: 运维:windows+python+ro