Java Builder模式構(gòu)建MAP/LIST的實例講解
我們在構(gòu)建一個MAP時,要不停的調(diào)用put,有時候看著覺得很麻煩,剛好,看了下builder模式,覺得這思路不錯,于是乎,照著用builder模式寫了一個構(gòu)建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模式構(gòu)建MAP/LIST的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA實現(xiàn)sm3加密簽名以及防止重復(fù)攻擊
這篇文章主要給大家介紹了關(guān)于JAVA實現(xiàn)sm3加密簽名以及防止重復(fù)攻擊的相關(guān)資料,SM3是簽名算法,和MD5一樣(對于應(yīng)用層來說),SM4是對稱加密算法,和AES一樣(對于應(yīng)用層來說),需要的朋友可以參考下2023-10-10SpringBoot開發(fā)實戰(zhàn)系列之動態(tài)定時任務(wù)
在我們?nèi)粘5拈_發(fā)中,很多時候,定時任務(wù)都不是寫死的,而是寫到數(shù)據(jù)庫中,從而實現(xiàn)定時任務(wù)的動態(tài)配置,下面這篇文章主要給大家介紹了關(guān)于SpringBoot開發(fā)實戰(zhàn)系列之動態(tài)定時任務(wù)的相關(guān)資料,需要的朋友可以參考下2021-08-08Java數(shù)據(jù)結(jié)構(gòu)超詳細分析二叉搜索樹
二叉搜索樹是以一棵二叉樹來組織的。每個節(jié)點是一個對象,包含的屬性有l(wèi)eft,right,p和key,其中,left指向該節(jié)點的左孩子,right指向該節(jié)點的右孩子,p指向該節(jié)點的父節(jié)點,key是它的值2022-03-03Java經(jīng)典設(shè)計模式之適配器模式原理與用法詳解
這篇文章主要介紹了Java經(jīng)典設(shè)計模式之適配器模式,簡單說明了適配器模式的概念、原理,并結(jié)合實例形式分析了java適配器模式的用法與相關(guān)注意事項,需要的朋友可以參考下2017-08-08Java+OpenCV調(diào)用攝像頭實現(xiàn)拍照功能
隨著我們對環(huán)境、Mat基本使用越來越熟練、Java Swing也逐步熟悉了起來。本文將通過OpenCV驅(qū)動攝像頭實現(xiàn)識臉和拍照功能,需要的可以參考一下2022-03-03