あなたの質問から判断すると、あなたが今持っているものは
List<MyDTO> dtos;
そして、あなたはに到達したいです
List<List<MyDTO>> sublists;
したがって、dto を反復処理し、マップ内の正しいエントリを見つけて、ヒットをコンテナーに追加するだけです。マップにより、Web 名ごとに 1 つのエントリしかないことが確認されます。
Map<String, List<MyDTO>> hitmap = new HashMap<String, List<MyDTO>>();
for (MyDTO dto: dtos){
String webname = dto.getMyClass().getWebName();
List<MyDTO> list = hitmap.get(webname);
if (list==null){
list = new ArrayList<MyDTO>();
hitmap.put(webname, list);
}
list.add(dto);
}
次に、本当に一連のサブリストが必要な場合は、値から取得します
List<List<MyDTO>> sublists = new ArrayList<List<MyDTO>>(hitmap.values());