发表于: 2017-12-31 02:31:39

1 630


今天完成的事情:

1. 学习插入算法

2. HashSet


明天计划的事情

1. 设计SQL



遇到的问题:



收获:

1. 学习插入算法

算法步骤

  1. 默认序列中的第0个元素是有序的
  2. 从下标为1(下标从0开始)的元素开始,取当前下标i位置处的元素a[i]保存到一个临时变量waitInsert里;
  3. 对前半部分有序序列的循环遍历,并与waitInsert比较,直到遇到一个比waitInsert小的元素(这里默认是从小到大排序),此时的下标为j,那么现在只要对a[j+1]进行赋值即可;
  4. 将待插入元素的下标 i 向后推移一个位置;
  5. 重复进行第2步到第4步,直到乱序序列中的元素被全部插入到有序序列中;
  6. 经过以上5个步骤之后,整体序列必然有序,排序完成。



2. HashSet

HashSet实现了Set接口,它不允许集合中有重复的值,当我们提到HashSet时,第一件事情就是在将对象存储在HashSet之前,要先确保对象重写equals()和hashCode()方法,这样才能比较对象的值是否相等,以确保set中没有储存相等的对象。如果我们没有重写这两个方法,将会使用这个方法的默认实现。


HashSet和HashMap的区别

*HashMap**HashSet*
HashMap实现了Map接口HashSet实现了Set接口
HashMap储存键值对HashSet仅仅存储对象
使用put()方法将元素放入map中使用add()方法将元素放入set中
HashMap中使用键对象来计算hashcode值HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性,如果两个对象不同的话,那么返回false
HashMap比较快,因为是使用唯一的键来获取对象HashSet较HashMap来说比较慢




任务进度:设计SQL

DOME时间:2018-2-9





返回列表 返回列表
评论

    分享到