我是新手到Java中使用集或列表在這裏,我有一種情況,在那裏我需要從表中列出的組織類型:代碼
要求:剛上市,無添加或刪除的元素,
按照我的理解,並集列表之間的區別:
集:
集是對象的獨特收藏。 設置是無序的對象集合。
列表:
列表是對象的非唯一集合。 列表是對象的有序集合。
在我的表我有樣柱:
id name is_active
1 Lab 1
2 Pharmacy 2
3 Hospital 3
最大10行
**Controller**:
List<OrgType> orgTypeList = organizationService.getAllOrgTypes(true);
OrgTypeResponse response = new OrgTypeResponse();
List<EntityDetail> orgTypeDetailList = new ArrayList<>();
EntityDetail orgTypeDetail;
for(OrgType orgType : orgTypeList) {
orgTypeDetail = new EntityDetail();
orgTypeDetail.setId(orgType.getId());
orgTypeDetail.setName(orgType.getName());
orgTypeDetailList.add(orgTypeDetail);
}
response.setStatus(ResponseStatusCode.SUCCESS);
response.setTotalOrgTypes((long)orgTypeDetailList.size());
response.setOrgTypes(orgTypeDetailList);
return response;
**Service** Implementaion:
List<OrgType> orgTypeList = orgTypeRepository.findByActive(active);
return orgTypeList;
這是我EntityDetail類:
public class EntityDetail {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我這裏的問題是,我可以使用Set而不是List
如果使用設置,我可以使用TreeSet的,因爲我需要在ID
的ASC爲了顯示或離開的代碼,因爲它是
我只是想澄清,
謝謝
您可以使用設置或列出這取決於需求。只有差異列表使用set纔會刪除重複項。對於相同數量的元素,HashSet比ArrayList消耗的內存大約多5.5倍(儘管它們仍然是線性的)。 如果您不關心包含的唯一性或性能,那麼使用ArrayList –