-
Collections工具类(java.util.Collections)
测试Collections中的sort方法:
(对Integer泛型的List进行排序)
(对String泛型的List进行排序)
不能使用基本类型作为泛型,必须用对应的包装类
查看全部 -
Map中通过containsKey()方法和containsValue()方法来判断键和值是否存在
Map 中对对象进行了 Key 标记,通过 get(Key)可以取得对应的对象Map 的containsKey()方法取得 Map 映射的 Key 值Map 的containsValue()方法的参数是 Object 对象,因为Map 的 Value 值是对象元素
和 List 的 contains()方法一样,Map 中的 containsValue()方法也会调用每个 Value 值的 equals()方法去和参数对象比较
id 是string类型 contains方法使用equals方法 来比较,所以值相等就返回ture
Value 是Student类型,自己定义的,默认的contains方法中的equals方法,比较的是两个引用是否一样,所以要重写equals方法
由于是比较两student类型是否相同,所以要做Student类中重写equals方法查看全部 -
indexOf()通过调用每个元素的equals方法进行比较
如果某个元素的equals方法返回为true,那么就把当前这个元素的索引位置作为结果进行返回,假如序列中有多个重复的元素,只返回这个重复元素第一次出现时的索引位置。
lastindexOf方法返回最后一次出现的位置。如果找不到元素则返回-1。
查看全部 -
1、Set是一个接口通过“this.course=new HashSet()”进行实例化,使用时导入java.util包。
2、创建属性时,一般开发用私有
private String id;
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
查看全部 -
java总的集合框架
1、Collecton根接口:存储一个一个对象
(序列)List子接口:元素排列有序且可重复 实现类: ArrayList(数组序列)LinkedList(链表)
(队列)Queue子接口:元素排列有序且可重复 LinkedList(链表)
(集)Set子接口:元素排列无序且不可重复 HashSet(哈希集)
2、Map根接口:通过Entry类实例存储一个一个键值对<Key,Value>,然后根据键值对映射查找,其中Key和Value可以是任意类型的对象
实现类:HashMap(哈希表)
查看全部 -
数组与集合的区别:
1、集合是动态扩展的,随着对象的数量而增加自身长度,数组的长度是固定的
2、数组只能通过下标访问元素,类型固定,有的集合可以通过任意类型查找所映射的具体对象
查看全部 -
集合的作用:
1、在类的内部对数据进行组织。
2、快速搜索大数量的条目
3、有些集合接口,提供了一些排列有序的元素,可在序列中快速的插入或者删除有关元素
4、有些集合接口提供映射关系,通过关键字key进行快速查找,关键字可以是任意类型
查看全部 -
###使用 Set 集的 hashCode的方法:hashCode方法的工作原理是
Set.contains(E e)的时候,先调用从Object继承而来的hashCode方法,然后再调用equals()方法。如果两个方法都返回真的时候,才认定Set包含某个元素。###jvm运行时,给每个对象分配唯一一个标志身份的标志hanshcode。众类鼻祖Object的hashCode()方法在默认情况下,判断哈希码是不是相同。即equals默认情况下比较的是二者是不是同一个内存块。
Set集的contains方法,内部就是先调用hashCode再调用equals()方法。很多情况要结合实际对hashCode进行改写
== 和equals()两种比较方法,在使用时要注意:
1、如果测试两个简单类型的数值是否相等,则一定要用“==”来比较;
2、如果要比较两个引用变量对象的值是否相等,则要用对象的equals()方法进行比较;
3、如果需要比较两个引用变量是否指向同一对象,则使用“==”来进行比较;
还有,对于自定义的类,应该根据情况覆盖其父类或Object类中的equals()方法,否则默认的equals()方法功能与“==”相同
Set中的contains()方法同时调用hashCode()和equals()方法,需要重写hashCode()和equals()两个方法。
list中不需要重写hashCode()方法。
Set的contains方法,先调用hashCode方法,如果hashCode相同,才会调用equals方法查看全部 -
-----------------------重写equals方法(固定模板)------------------
public boolean equals(Object obj){
//如果obj与比较对象的位置相同,说明obj是从集合中取出再与该位置 的元素比较,所以肯定相同
if(this==obj)
return true;
if(obj==null){//若字符串为空,则不能进行字符串比较,所以返回false
return false;
if(!(obj instanceof Course)){//若果obj当前类型不是Course,则当前两个对象肯定不相同//instanceof 它的作用是判断其左边对象是否为其右边类的实例
return false;
//若上述均通过,则说明obj为Course对象,且当前对象不为空
Course course=(Course)obj;
if(this.name==null){
if(course.name==null)
return true;
else
return false;
}else{
if(this.name.equals(course.name))
return true;
else
return false;
}
}查看全部 -
public void testModify() { Scanner input = new Scanner(System.in); while(true) { System.out.println("请输入你要修改的id"); String id = input.next(); Student stu = student.get(id); if(stu==null) { System.out.println("输入的id的学生不存在"); continue; } System.out.println("当前学生的名字"+stu.name); System.out.println("请输入修改名字:"); String name = input.next(); stu.name = name; student.put(id, stu); break; } }
查看全部 -
Map增删改查:
增:map的put(key,value)方法添加。查:1.利用keyset()方法获得Map中key的集合。再遍历key的集合,利用 Map的get(key)方法得到key对应的value值。
2.利用EntrySet方法获取May中Entry对象集。然后用foreach遍历 集,再用Entry集的getkay()和getvalue()方法得到每一个key值和 value值。
删:remove(object key)
改:put(原有的key,新的value)通过entrySet可以返回Map中的所有键值对
Set<Entry<String,Student>>entrySet = students.entrySet();HashMap 类的方法已经写好,所以你调用HashMap 类的方法的时候当然要用它自己的名字,例如
Haspmap实例名字.get(KEY)----返回对应的对象方法 ;
Haspmap实例名.put(Key, Value)----修改对应键的 Value;
首先 Haspmap实例名字.EntrySet <K,V> 也是HashMap 类已经写好的方法,返回一个 Entry<K,Y> 类型的对 象object.
查看全部 -
comparable很重要
查看全部 -
这个key之是什么说法
查看全部 -
Calendar 类的应用
查看全部 -
2. 使用 parse() 方法将文本转换为日期
查看全部
举报