laierl viche,武汉生活,造梦西游3如狱
我们在构建一个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的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
apollo与springboot集成实现动态刷新配置的教程详解
网友评论