欢迎使用CSDN-markdown编辑器

1.List、Set、Map区别及其主要使用场合
(1)java集合框架主要有3中接口List、Set、Map。ArraList是有序的元素集合,和数组很类似,我们可以通过索引来访问每一个元素,List中的元素是有重复的。对List中的元素进行排序有2种方法:一是元素类实现Comparable接口,重写compareTo(),二是自定义Comparator接口的实现类,重写compare()。对于上面两个步骤,再调用collections.sort()方法。
(2)Set中的元素是无序不允许重复的,Set元素的一个重要点在于如何判断两个元素是否是重复的,这就需要实现元素类的HashCode()和equals()方法,只有HashCode()相同,且equals()方法返回为真的两个元素算作是重复的,不会再添加到Set的集合中。Set的实现类有HashSet和TreeSet,HashSet的排序方法和上面介绍的ArrayList的一样,而TreeSet是默认根据元素类的compareTo方法进行排序的,不需要再进行排序,但是如果元素类没有重写compareTo方法,编译时会报错。
(3)Map是一组键值对的集合,key是唯一的,不允许有一样的key存在,如果添加的元素有同样的key值,后面添加的元素会自动覆盖前面的元素。Map因为有以上特征,最常见的应用是用于次数统计。
(4)应用场景:允许有重复使用ArrayList,不允许重复使用Set,统计结果使用Map。

2.代码展示
(1)元素类Person
`package com.yu.collection;

public class Person implements Comparable {
private String name;
private int age;
private String city;

public Person(String name, int age, String city) {
super();
this.name = name;
this.age = age;
this.city = city;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}

@Override
public int compareTo(Person o) {
// TODO Auto-generated method stub
if(age>o.age){
return 1;
}
else if(age

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值