List<Map<String, Object>>——多层嵌套的数据结构
文章目錄
- 快速理解多重嵌套結(jié)構(gòu)
- Map基礎(chǔ)知識
- List
- 例子
- 查詢數(shù)據(jù)庫
快速理解多重嵌套結(jié)構(gòu)
對于多層嵌套的數(shù)據(jù)結(jié)構(gòu),需要層層分解。
以List<Map<String, Object>>為例,首先可以看到兩種結(jié)構(gòu),分別是List和Map。
可以觀察到List在外層,用c語言做類比,可以看做是一個指針數(shù)組,指針數(shù)組,其實就是一個元素為指針的數(shù)組。
那么回到這個例子,List<Map<String, Object>>不就是元素為Map的List嗎?即List集合中的對象是一個Map對象,而這個Map對象的鍵是String類型,值是Object類型。
Map基礎(chǔ)知識
Map 是一種鍵-值對(key-value)集合,Map 集合中的每一個元素都包含一個鍵對象和一個值對象。其中,map中鍵可以是任意類型的對象,鍵對象不允許重復(fù),每個鍵都有一個對應(yīng)的值。值對象可以重復(fù),并且值對象還可以是 Map 類型的。
鍵-值對(key-value)就如同數(shù)組中的下標和值,通過通過鍵找值就如同下標找數(shù)組值。
Map本身是一個接口,要使用Map需要通過子類進行對象實例化。
如聲明Map<String, List> map = null;
| get(Object key) | 返回 Map 集合中指定鍵對象所對應(yīng)的值。 |
| put(K key, V value) | 向 Map 集合中添加鍵-值對,返回 key 以前對應(yīng)的 value,如果沒有, 則返回 null |
| remove(Object key) | 從 Map 集合中刪除 key 對應(yīng)的鍵-值對,返回 key 對應(yīng)的 value,如果沒有,則返回null |
| entrySet() | 返回 Map 集合中所有鍵-值對的 Set 集合,此 Set 集合中元素的數(shù)據(jù)類型為 Map.Entry |
| keySet() | 返回 Map 集合中所有鍵對象的 Set 集合 |
List
List是有序的Collection,使用此接口能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似于數(shù)組下 >標)來訪問List中的元素,這類似于Java的數(shù)組。
void add(String item) //依次往后添加添加元素 void add(String item, int index) //在指定位置處添加元素 void remove(int position) //刪除第幾個元素(索引從0開始) void remove(String item) //刪除相同的元素 void removeAll() //刪除所有元素例子
查詢數(shù)據(jù)庫
public List<Map<String,Object>> userList(){String sqlSearchUserAll = "select * from t_user";List<Map<String, Object>> list_maps = jdbcTemplate.queryForList(sqlSearchUserAll);return list_maps;} List<Map<String, Object>> listMaps = new ArrayList<Map<String, Object>>();Map<String, Object> map = new HashMap<String, Object>(); map1.put("1", "a"); map1.put("2", "b"); map1.put("3", "c"); listMaps.add(map);總結(jié)
以上是生活随笔為你收集整理的List<Map<String, Object>>——多层嵌套的数据结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器系统怎么用备份启动,如何用veea
- 下一篇: 界面设计方法 (1) — 5. 表单功能