にここにセットまたはリストを使用して、私は私がテーブルから組織の種類をリストする必要があるシナリオを、持っている:私はJavaへの初心者ですコード
要件:ちょうど追加なし、リストまたは要素を削除し、
私はセットとリストの違いを理解したよう:
設定:
セットオブジェクトのユニークなコレクションです。 SetはオブジェクトのUn-orderedコレクションです。
一覧:
リストは、オブジェクトの非ユニークなコレクションです。 リストはオブジェクトの順序付きコレクションです。私のテーブルで
私のような列を持っています:これは私のEntityDetailクラスです
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;
:こちらを
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;
}
}
私の質問ですが、私はできますリストの代わりにセットを使用する
設定が使用されている場合、私はID
のASC順に表示またはそれが
あるとして、コードを残す必要があるため、私はちょうど明確化をしたい、TreeSetのを使用することができ、
感謝
あなたがセットを使用するか、それが要件に依存して一覧表示することができます。差分リストのみがsetを使って作成された重複は削除されます.HashSetは同じ数の要素に対してArrayListより約5.5倍多くのメモリを消費します(ただし、両方ともまだ線形です)。 一意性またはcontainsのパフォーマンスを気にしない場合は、ArrayList –