list字符串转化为list 对象(list<string>转换成list<int>)

list字符串转化为list 对象(list<string>转换成list<int>)某班级要组织秘游活动 有四个景点的数据可以选择 依次是 东湖 黄鹤楼 木兰文化区 归元弹寺 每名学生最多可以选择两个想去的景点 最少要选择 1 个想去的景点 现在系统收集到了班级多名学生选择的信息如下 String info 10001 张无忌 男 2023 07 22 11

大家好,我是讯享网,很高兴认识大家。



某班级要组织秘游活动,有四个景点的数据可以选择,依次是:“东湖”“黄鹤楼”“木兰文化区”“归元弹寺”,每名学生最多可以选择两个想去的景点,最少要选择1个想去的景点,现在系统收集到了班级多名学生选择的信息如下。
String info ="10001, 张无忌, 男, 2023-07-22 11:11:12, 东湖-黄鹤楼#10002, 赵敏,女, 2023-07-22 09:11:21, 黄鹤楼-归元禅寺#10003.周芷若,女,2023-07-22 04:11:21.木兰文化区-东湖#10004,小昭,女,2023-07-22 08:11:21,东湖#10005,灭绝,女,2023-
07-22 17:11:21,归元禅寺”;
新建测试类,在类中书写main方法,在方法中完成如下业务逻辑:
业务一:
”需要你解析上面的字符串,获取里面的用户数据,并封装到Sutdent对象中
■ 多个Student对象在添加到List<Student> 集合中
注意:
■字符串中的规则如下,多个用户用#拼接,用户的信息之间用,拼接,多个景点是用-拼接的。
其中用户的id和选择时间是需要进行类型转换的,其中id需要将String转成Long,选择时间需要将String转成LocalDateTime。
业务二:
遍历上面获取的List<Student>集合,统计里面每个景点选择的次数,并输出景点名称和选择的次数。
业务三:
请用程序计算出哪个景点想去的人数最多,以及哪些人没有选择这个最多人想去的景点。

     //① 多个用户用#拼接 可以用split();

     //② String 转换为Long  用:Long.parseLong()

    //③String 转换为LocalDateTime  LocalDateTime.spare()   DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");一个工具要转换为这种格式

    //④list.add(new Student(...))


讯享网

键值对用Map集合,new HashMap(),记得"-"要分割  ,是否包含用的是map.containsKey(..)

    //map集合中有记录 map.put(address.get(address)+1)

    //map集合没有记录map.put(address.1)

用的 map.entrySet().stream().max((o1,o2)->(o1.getValue()-o2.getValue())).get().getKey()

用的if(!s.getAddress().contains(maxSelectAddress))

讯享网

讯享网import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
public class 分割字符串 { 
讯享网public static void main(String[] args) { String info &#61; &#34;10001,张无忌,男,2023-07-22 11:11:12,东湖-黄鹤楼#10002,赵敏,女,2023-07-22 09:11:21,黄鹤楼-归元禅寺#10003,周芷若,女,2023-07-22 04:11:21,木兰文化区-东湖#10004,小昭,女,2023-07-22 08:11:21,东湖#10005,灭绝,女,2023-07-22 17:11:21,归元禅寺&#34;; List&lt;Student&gt; student&#61;new ArrayList&lt;&gt;(); student&#61;getStudentList(info); Map&lt;String,Integer&gt; map&#61;parseSelectAddressCount(student); //景点人去的最多,谁没有选择这个景点 String maxSelectAddress&#61;getMaxSelectAddress(map); System.out.println(&#34;最多选择景点的名称:&#34;&#43;maxSelectAddress); //打印那些人没有去国选择最多的景点 printNoSelectAddress(student,maxSelectAddress); } private static void printNoSelectAddress(List&lt;Student&gt; student, String maxSelectAddress) { for(Student s:student){ if(!s.getAddress().contains(maxSelectAddress)) System.out.println(s.getName()); } } private static String getMaxSelectAddress(Map&lt;String, Integer&gt; map) {//entrySet()获得键和值 return map.entrySet().stream().max((o1,o2)-&gt;(o1.getValue()-o2.getValue())).get().getKey(); } 
//遍历上面获取的List&lt;Student&gt;集合,统计里面每个景点选择的次数,并输出景点名称和选择的次数。
private static Map&lt;String, Integer&gt; parseSelectAddressCount(List&lt;Student&gt; student) { Map&lt;String, Integer&gt; map&#61;new HashMap&lt;&gt;(); for(Student s:student) { String [] selectAddress&#61;s.getAddress().split(&#34;-&#34;); for(String select:selectAddress){ if(map.containsKey(select)){ map.put(select,map.get(select)&#43;1); }else{ map.put(select,1); } } } //景点名称和选择的次数 for(Map.Entry&lt;String,Integer&gt; entry:map.entrySet()){ System.out.println(&#34;景点的名称:&#34;&#43;entry.getKey()&#43;&#34;景点选择的次数: &#34;&#43;entry.getValue()); } return map; } // 多个Student对象在添加到List&lt;Student&gt; 集合中 public static List&lt;Student&gt; getStudentList(String info){ List&lt;Student&gt; list &#61; new ArrayList&lt;&gt;(); String [] infoArray &#61; info.split(&#34;#&#34;); DateTimeFormatter df &#61; DateTimeFormatter.ofPattern(&#34;yyyy-MM-dd HH:mm:ss&#34;); for (String str : infoArray) { String [] strArray &#61; str.split(&#34;,&#34;); LocalDateTime time&#61;LocalDateTime.parse(strArray[3],df);//parse()方法进行转换 Student student &#61; new Student(Long.parseLong(strArray[0]),strArray[1],strArray[2],time,strArray[4]); list.add(student); } return list; } 
}
讯享网import java.time.LocalDateTime; public class Student { 
private Long id; private String name; private String sex; private LocalDateTime localTime; private String address; public Student(Long id, String name, String sex, LocalDateTime localTime, String address) { this.id &#61; id; this.name &#61; name; this.sex &#61; sex; this.localTime &#61; localTime; this.address &#61; address; } public Long getId() { return id; } public void setId(Long id) { this.id &#61; id; } public String getName() { return name; } public void setName(String name) { this.name &#61; name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex &#61; sex; } public LocalDateTime getLocalTime() { return localTime; } public void setLocalTime(LocalDateTime localTime) { this.localTime &#61; localTime; } public String getAddress() { return address; } public void setAddress(String address) { this.address &#61; address; } &#64;Override public String toString() { return &#34;Student{&#34; &#43; &#34;id&#61;&#34; &#43; id &#43; &#34;, name&#61;&#39;&#34; &#43; name &#43; &#39;&#39;&#39; &#43; &#34;, sex&#61;&#39;&#34; &#43; sex &#43; &#39;&#39;&#39; &#43; &#34;, localTime&#61;&#34; &#43; localTime &#43; &#34;, address&#61;&#39;&#34; &#43; address &#43; &#39;&#39;&#39; &#43; &#39;}&#39;&#43;&#39; 
‘;
讯享网} 
}

小讯
上一篇 2025-04-20 13:40
下一篇 2025-04-26 08:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/158970.html