导言:
后台开发Map和List的使用是家常便饭了,不过今天只是做个笔记,说下ArrayList的日常使用方法
知识点:
1,实体类UserBean
//用户
public class UserBean {
private int userId;
private String userName;
private String deptId;
private String deptName;
private int sort;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
@Override
public String toString() {
return "UserBean{" +
"userId=" + userId +
", userName='" + userName + '\'' +
", deptId='" + deptId + '\'' +
", deptName='" + deptName + '\'' +
", sort=" + sort +
'}';
}
public UserBean() {
}
public UserBean(int userId, String userName, String deptId, String deptName, int sort) {
this.userId = userId;
this.userName = userName;
this.deptId = deptId;
this.deptName = deptName;
this.sort = sort;
}
2,实体类DeptBean
//部门
public class DeptBean {
private String deptId;
private String deptName;
private int sort;
private List<UserBean> children = new ArrayList<>();
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public List<UserBean> getChildren() {
return children;
}
public void setChildren(List<UserBean> children) {
this.children = children;
}
}
3,集合List使用
List<UserBean> users = new ArrayList<>();
//增 add,一个,addAll集合
users.add(new UserBean(101, "张三", "d1002", "部门二", 2));
users.add(new UserBean(102, "李四", "d1002", "部门二", 2));
users.add(new UserBean(103, "王五", "d1001", "部门一", 1));
users.add(new UserBean(104, "徐六", "d1003", "部门三", 3));
users.add(new UserBean(105, "周琦", "d1003", "部门三", 3));
List<UserBean> tempList = new ArrayList<>();
tempList.add(new UserBean(106, "刘八", "d1001", "部门一", 1));
tempList.add(new UserBean(107, "黄九", "d1004", "部门四", 4));
tempList.add(new UserBean(108, "赵十", "d1004", "部门四", 4));
tempList.add(new UserBean(109, "孙候", "d1004", "部门四", 4));
tempList.add(new UserBean(110, "吴恩", "d1004", "部门四", 4));
users.addAll(tempList);
Log.i("listTest1", "所有: " + new Gson().toJson(users));
Log.i("listTest", "-------------------------------------------------------------------------");
//删 remove 110
users.remove(users.size() - 1);
Log.i("listTest2", "删除最后一个: " + new Gson().toJson(users));
Log.i("listTest", "-------------------------------------------------------------------------");
//改 set 101
users.set(0, new UserBean(101, "钱万", "d1002", "部门二", 2));
Log.i("listTest3", "更改101 : " + new Gson().toJson(users));
Log.i("listTest", "-------------------------------------------------------------------------");
//查 get 101
UserBean userBean = users.get(0);
Log.i("listTest4", "查询101 : " + userBean.toString());
Log.i("listTest", "-------------------------------------------------------------------------");
//索引位置 indexOf lastIndexOf
users.indexOf(new UserBean(102, "李四", "d1002", "部门二", 2));
//截取 subList 101-108
List<UserBean> subList = users.subList(0, 7);
//list 遍历
for (int i = 0; i < subList.size(); i++) {
Log.i("listTest5", "截取 : " + subList.get(i).toString());
}
Log.i("listTest", "-------------------------------------------------------------------------");
//List分组 deptId
Map<String, List<UserBean>> mapUser = users.stream().collect(Collectors.groupingBy(UserBean::getDeptId));
List<DeptBean> deptBeans = new ArrayList<>();
//map 遍历
for (String key : mapUser.keySet()) {
List<UserBean> userList = mapUser.get(key);
DeptBean deptBean = new DeptBean();
deptBean.setDeptId(key);
deptBean.setSort(userList.get(0).getSort());
deptBean.setDeptName(userList.get(0).getDeptName());
List<UserBean> children = new ArrayList<>();
//list 遍历
for (UserBean mUserBean : userList) {
UserBean u = new UserBean();
u.setUserId(mUserBean.getUserId());
u.setUserName(mUserBean.getUserName());
children.add(u);
}
deptBean.setChildren(children);
deptBeans.add(deptBean);
}
//List排序 sort
List<DeptBean> deptBeanList = deptBeans.stream()
.sorted(Comparator.comparing(DeptBean::getSort))
.collect(Collectors.toList());
Log.i("listTest6", new Gson().toJson(deptBeanList));
本文通过创建实体类UserBean和DeptBean,演示了如何使用ArrayList进行增删改查操作,并展示了如何利用Java 8 Stream API实现数据分组和排序。
8340

被折叠的 条评论
为什么被折叠?



