Java Builder模式构建MAP/LIST的实例讲解
程序员文章站
2024-04-03 17:34:52
我们在构建一个map时,要不停的调用put,有时候看着觉得很麻烦,刚好,看了下builder模式,觉得这思路不错,于是乎,照着用builder模式写了一个构建map的示例,...
我们在构建一个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)); } }
以上这篇java builder模式构建map/list的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: php设计模式之委托模式