1.Set集合(不包含重复元素)
(1) Set集合特点:
① 一次只存一个元素,② 不能存储重复的元素,③ 存储顺序和取出来的顺序不一定一致
(2) 常用的set集合是HashSet
(3) 常用方法在list中都有,方法比list少, 少的是与索引相关的方法,因为Set集合没有索引
直接贴代码:
//根据登录用户查出所有他角色具有的菜单
public Set<Integer> getMenuIds() {
AuthInfo user = AuthInfoUtils.getAuthInfo();
Set<Integer> setInfo = new HashSet<Integer>();
Long loginuserId = user.getUserId();
List<RoleMenu> usermenu = this.service.getMenuIds(loginuserId);
String[] arr = new String[usermenu.size()];
for (int i = 0; i < usermenu.size(); i++) {
arr[i] = usermenu.get(i).getMenuIds();
}
for (int i = 0; i < arr.length; i++) {
if ("" != arr[i]) {
String[] arr1 = arr[i].trim().split(",");
for (int j = 0; j < arr1.length; j++)
setInfo.add(Integer.valueOf(arr1[j]));
}
}
return setInfo;
}
}
或者:
public Set<Object> getMenuIds() {
AuthInfo user = AuthInfoUtils.getAuthInfo();
Set<Object> setInfo = new HashSet<Object>();
Set<Object> setInfo1 = new HashSet<Object>();
Long loginuserId = user.getUserId();
List<RoleMenu> usermenu = this.service.getMenuIds(loginuserId);
String[] arr = new String[usermenu.size()];
for (int i = 0; i < usermenu.size(); i++) {
arr[i] = usermenu.get(i).getMenuIds();
}
for (int i = 0; i < arr.length; i++) {
if ("" != arr[i]) {
String[] arr1 = arr[i].trim().split(",");
for (int j = 0; j < arr1.length; j++) {
setInfo1.add(Integer.valueOf(arr1[j]));
}
}
}
for(Object i: setInfo1) {
String setInfoString=String.valueOf(i);
setInfo.add(menuService.get(Long.valueOf(setInfoString)));
}
return setInfo;
}
2.List集合: 一次只存储一个元素
1.常用的list集合是ArrayList
(1)在创建这个集合的对象时, 需要指定这个集合存储的数据类型! 否则这个集合的数据是不安全的。
(2)与数组的区别:
①数组的长度是固定的, 集合的长度是可变的。
②数组可以存储基本类型和引用数据类型的数据.集合不可以存储基本数据类型, 只能存储引用数据类型
3.如果集合中需要存储基本类型的数据, 集合的类型必须指定为对应的包装类型。
4.list集合中的常用方法
(1)add(E): 往集合中添加一个元素
(2)add(index,E): 把元素添加到指定的位置, 原来的内元素会被挤到后面
(3)get(index): 通过索引获取集合中对应的元素
(4)size(): 获取集合的大小、集合中元素个数
(5)remove(index): 删除指定索引的元素, 返回被删除的元素
(6)remove(Object): 删除集合中的指定对象, 如果有多个相同的对象, 只会删除第一个.
(7)contains(E): 判断集合中是否包含指定的元素
(8)indexOf(E): 获取元素在集合中第一次出现的索引
(9)lastIndexOf(E): 获取元素在集合中最后一次出现的索引
(10)isEmpty(): 判断集合中的元素是否为空
(11)set(index,E): 把指定索引位置的元素覆盖, 返回的是被修改的元素
(12)clear(): 清空集合中的所有元素
(13)toArray(): 把集合转换成Object数组,注意不能转换成其他数组!
3.Map集合: 一次存储两个元素
1. 常用的Map集合是HashMap
2. Map集合就是可以任意指定索引数据类型的集合, 数组和list集合是固定使用int类型作为索引的容器
3. Map集合的特点:
(1) map集合一次要存储两个元素, 第一个是key(键-索引), 第二个内容是value(值)
(2) map集合的键是不能重复, 如果多次往同一个索引存储元素, 以最后一次存储为准, 后面存储内容会把前面存储的内容覆盖
(3) map集合中的值是可以重复的
4. 常用方法:
(1) put(key,value): 把键和对应的值存储到集合中
(2) get(key): 根据键取对应的值
(3) isEmpty(): 判断集合是否为空
(4) clear(): 清空集合中的所有元素
(5) containsKey(key): 判断集合中是否包含指定的键
(6) containsValue(value): 判断集合中是否包含指定的值
(7) remove(Object key): 根据键删除键和对应的值
(8) size(): 获取集合中的元素个数
(9) keySet(): 获取到map集合中的所有键, 装到一个Set集合中, 遍历这个集合可以得到每一个键
(10) entrySet(): 把集合中的key和value封装成Entry对象并存储到一个Set集合中,返回该集合
(11) values(): 把集合中所有value存储到一个Collection集合中并返回
.....后续再更新