似乎是新的开始

程序之路

 

    很早前就有整理优快云这个博客的想法,可是觉得工作量巨大且优快云这个博客系统似乎对分类支持不是很好,总之最终还是因为自己的懒而被搁浅。

    这个博客我估计申请了差不多有3年多了吧。因为我发现很早前还有我写的关于gvbasic的东西,很汗颜。我写技术博客从来都不规范,基本属于自己作笔记性质。这两三年来全部精力都拿去关注程序技术了,文笔也变弱了,写的东西前言不搭后语,连思维都不连贯。我甚至觉得自己算不上一个网络现代人,不懂得RSS,不懂得很多很多时髦的东西。我甚至写日志都不愿意去认真地排下版。 

    想当初我的博客还进过优快云博客首页,被列为精华。但是实际情况是比较尴尬的。因为当时我在国外看了篇关于使用XML文件让游戏模块化的文章,如同我大部分时候的动作一样,随便乱翻译只为了让自己读得更清晰。就这样,我也毫不在意地发了出去。关键在于后面,因为我顺带分析了下那篇文章附带的源代码,于是又发文一篇,结果就这样,这篇文章被列为首页。很让人哭笑不得,但是是事实。= =

    最近工作了,虽然自己学习的时间少了很多。但是最近还是获得了很多经验和知识。突然有了很强的发文冲动,而且打算写好。只是一直苦于没时间,今天没有,估计未来很长段时间都没有。不知道不知道,我这个人不敢轻易给承诺。如果我轻易给了承诺,那我肯定是在骗你。

    周末铁了心打算去陪GF。GF还很小,我想这个年龄的女孩子应该多陪陪。平时连面都见不到,所以周末是无论如何也得陪她的。

    写到这里猛然发现自己很少在优快云这个博客发心情生活相关的文章。这篇心情贴算是开天辟地之处女座。夸张是夸张了点,不夸张你怎么知道它很开天辟地?

    有时候我也会在百度GOOGLE上搜搜自己的名字,一直比较让我郁闷的是,连接最多的居然是我刚学游戏编程时做的一个垃圾游戏。现在我非常羞于给别人展示这个东西,年代久远,不堪入目。

    程序是一条不归路,一旦你塌上来,你就很难回头。现在回头行么?不行。为什么?高三的时候我给同学说,没有为什么,因为我在这上面已经用了这么多时间和精力,如果回头,那意味着这些时间和精力失去了价值。

    没有结尾。

    因为想不出结尾。

    BTW,还是不知道如何去整理这个博客。 = =

### PTA平台 6-2 新名字新开始 对于PTA平台上提到的“新名字新开始”,通常这类题目涉及到字符串处理以及可能的数据结构应用。根据描述,似乎需要实现一个程序来处理学生名单并去除重复项。 #### 去除重复的学生信息 为了帮助教师解决班级名单中存在的重复问题,可以采用哈希集合(HashSet)来存储已经遇到的名字和年龄组合,从而确保每条记录都是唯一的。下面是一个基于Java语言的具体解决方案: ```java import java.util.*; public class RemoveDuplicateStudents { static class Student implements Comparable<Student> { String name; int age; public Student(String name, int age) { this.name = name; this.age = age; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Student)) return false; Student student = (Student) o; return age == student.age && Objects.equals(name, student.name); } @Override public int hashCode() { return Objects.hash(name, age); } @Override public int compareTo(Student other) { int cmpName = this.name.compareTo(other.name); if (cmpName != 0) return cmpName; return Integer.compare(this.age, other.age); } void show(){ System.out.println(name + " " + age); } } public static List<Student> removeDuplicates(List<Student> students){ Set<Student> uniqueSet = new HashSet<>(students); // 使用HashSet去重 // 将结果转回List以便后续操作 List<Student> resultList = new ArrayList<>(uniqueSet); // 对列表按姓名升序排列;如果相同,则按照年龄降序排列 Collections.sort(resultList, Comparator.comparing((Student s)->s.name).thenComparing(s->-s.age)); return resultList; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); List<Student> inputList = new ArrayList<>(); while(scanner.hasNext()){ String line = scanner.nextLine(); String[] parts = line.split(","); if(parts.length >= 2){ try{ String namePart = parts[0].trim(); int agePart = Integer.parseInt(parts[1].trim()); inputList.add(new Student(namePart, agePart)); }catch(NumberFormatException ex){} } } List<Student> noDupes = removeDuplicates(inputList); for(var stu : noDupes){ stu.show(); } } } ``` 此代码片段实现了对学生对象`Student`类定义,并通过覆盖`equals()`方法和`hashCode()`方法使得能够依据名称和年龄判断两个实例是否相等。此外还提供了比较器用于排序目的。最后,在`main`函数中读取输入流中的数据,构建了一个包含所有学生的列表,调用了`removeDuplicates`静态方法移除了其中所有的重复项,并打印最终的结果[^3]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值