在这种情况下如何将集合转换为列表

Posted

技术标签:

【中文标题】在这种情况下如何将集合转换为列表【英文标题】:how to cast set into list in this situation 【发布时间】:2015-11-10 08:41:22 【问题描述】:

这是我的控制器:

private void setUniqueSignSize(List<TemplateMasterModel> templateTypeList, final Map<String, Object> model) 

    Set<String> signSizeList = new HashSet<String>();

    for(TemplateMasterModel templateType: templateTypeList) 
        signSizeList.add(templateType.getTemplateGrpCode());
    

    model.put("signSizeList", signSizeList);

    //getPaperTypes(templateTypeList, signSizeList, model);


这是我的jsp:

<table style="width:500px; margin-bottom: 10px;margin-left:50px;">
    <tr>
        <td class="requiredFieldIndicator">Sine Size</td>
        <td>
            <input type="hidden" name="tempTypeName" id="tempTypeName" value="">

            <select name="signTypeDesc" id="signTypeDesc" onchange="setTemplChangeValue();" style="width: 200px">
            <%
                String changeY = "";
                if(request.getAttribute("changeY") != null)
                    changeY = String.valueOf(request.getAttribute("changeY"));
                

                List<TemplateMasterModel> templateTypeList = (List) request.getAttribute("signSizeList");
                if(templateTypeList != null && templateTypeList.size() != 0)
                    if(templateTypeList.size() == 1)
                    
                        if(changeY.equals("No"))
                        
                            %><option value="Select">None Selected</option><%   
                        
                        %>
                        <option value="<%=templateTypeList.get(0).getTemplateGrpCode()%>"><%=templateTypeList.get(0).getTemplateGrpCode()%></option>
                        <%
                    

如何将集合 signSizeList 转换为列表?

【问题讨论】:

new ArrayList(signSizeList) 为什么要更改为列表,为什么不按原样使用集合?如果唯一的原因是您想要唯一的元素,请使用if (set.size() == 1) Model model = set.iterator().next(); 【参考方案1】:

你可以去

List templateTypeList  = new ArrayList((HashSet)request.getAttribute("signSizeList"));

或者使用 List 的 .addAll() 方法将 set 的所有元素添加到一个新的 ArrayList 中。

【讨论】:

以上是关于在这种情况下如何将集合转换为列表的主要内容,如果未能解决你的问题,请参考以下文章

在这种情况下,如何将 mongoDB 的地理点数据转换为 Elasticsearch 7.x?

如何在python中将集合转换为列表?

如何使用流将列表转换为带有索引的地图 - Java 8?

如何将集合转换为列表?

如何在不重新索引的情况下将项目添加到 laravel 列表集合中?

如何将 Cookies 集合转换为通用列表?容易地