把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
旋转立方体
旋转立方体end
返回顶部

《Java程序设计》第八周学习总结

20175334 《Java程序设计》第八周学习总结

教材学习内容总结

第十五章

  • 泛型
    • 泛型类声明
      • class 名称<泛型列表>
    • 使用泛型类声明对象
      • 和普通类相比,泛型类声明和创建对象时,类名后多了一对<>,而且必须要用具体的类型替换<>中的泛型
      • 泛型主要目的是可以建立具有类型安全的数据结构
  • 链表
    • LinkedList<E>泛型类
      • 必须要指定E的具体类型,然后用add(E obj)方法向链表依次增加结点
    • 常用方法
      • public boolean add<E element>,向链表的指定位置添加一个新的结点,该结点中的数据是参数element指定的数据
      • public void add(int index, E element),向链表的指定位置添加一个新的结点,该结点中的数据是参数element指定的数据
      • public void clear(),删除链表的所有结点,使当前链表成为空链表
      • public E remove(int index),删除指定位置上的结点
      • public boolean remove(E element),删除首次出现含有数据element的结点
      • public E get(int index),得到链表中指定位置处结点中的数据
      • public int indexOf(E element),返回含有数据element的结点在链表中首次出现的位置,如果链表中无此结点则返回-1
      • public int lastIndexOf(E element),返回含有数据element的结点在链表中最后出现的位置,如果链表中无此结点则返回-1
      • public E set(int index,E element),将当前链表index位置结点中的数据替换为参数element指定的数据,并返回被替换的数据
      • public int size(),返回链表的长度,即结点的个数
      • public boolean contains(Object element)
      • public void addFirst(E element),向链表的头添加新结点,该结点中的数据是参数element指定的数据
      • public void addLast(E element),向链表的末尾添加新结点,该结点中的数据是参数element指定的数据
      • public E getFirst(),得到链表中第一个结点中的数据
      • public E getLast(),得到链表中最后一个结点中的数据
      • public E removeFirst(),删除第一个结点,并返回这个结点中的数据
      • public E removeLast(),删除最后一个结点,并返回这个结点中的数据
      • public Object clone(),得到当前链表的一个克隆链表,该克隆链表中结点数据的改变不会影响到当前链表中结点的数据,反之亦然
    • 遍历链表
      • 链表对象可以使用iterator()方法获取一个Iterator对象,该对象是针对当前链表的迭代器
    • 排序与查找
      • public static sort(List<E>list),将list中的元素按顺序排序
      • int binarySearch(List<T>list,T key,CompareTo<T>c),使用析半法查找list是否含有和参数key相等的元素
    • 洗牌与旋转
      • public static void shuffle(List<E>list),将list中的元素按洗牌算法重新随机排序
      • static void rotate(List<E>list,int distance),旋转链表中的数据
      • public static void reverse(List<E>list),翻转list中的数据
  • 堆栈
    • 一种只能在一端进行输入或输出数据的操作
    • public E push(E item),实现压栈操作(向堆栈中输入数据)
    • public E pop(),实现弹栈操作(从堆栈中输出数据)
    • public boolean empty(),判断堆栈是否还有数据
    • public E peek(),获取堆栈顶端的数据,但不能删除该数据
    • public int search(Object data),获取数据在堆栈中的位置
  • 散列映射
    • HashMap<K,V>泛型类
    • 常用方法
    • 遍历散列映射
      • public Collection values()方法返回一个实现Collection接口类创建的对象,可以使用接口回调技术,即将该对象的引用赋给Collection接口变量,该接口变量可以回调iterator()\方法获取一个Iterator对象,这个Iterator对象存放散列映射中所有键/值对中的值
    • 基于散列映射的查询
      • 对于经常需要进行查找的数据可以采用散列映射来储存这样的数据,即为数据指定一个查找它的关键字,然后按着键/值对,将关键字和数据一并存入散列映射中
  • 树集
    • TreeSet<E>泛型类
      • 树集采用树结构存储数据,树结点中的数据会按存放的数据的“大小”顺序一层一层地依次排列,在同一层中的结点从左到右按字典顺序从小到大递增排列,下一层的都比上一层的小
    • 结点的大小关系
      • 树集不按添加的先后顺序排列,用add方法添加结点
    • 常用方法
      • public boolean add(E o),向树集添加结点,结点中的数据由参数指定,添加成功返回true,否则返回false
      • public void clear(),删除树集中的所有结点
      • public void contains(Object o),如果树集中有包含参数指定的对象,则返回true,否则返回false
      • public E first(),返回树集中的第一个结点中的数据
      • public E last(),返回树集中的最后一个结点中的数据
      • public boolean isEmpty(),判断是否是空树集,如果树集不含任何结点,则返回true
      • public boolean remove(Object o),删除树集中的存储参数指定的对象的最小结点,删除成功返回true,否则返回false
      • public int size(),返回树集中结点的数目
  • 树映射
    • 使用public V put(K key,V value)方法添加节点
  • 自动装箱与拆箱

教材学习中的问题和解决过程

代码托管

学习心得

  • 本章知识点并不是很多,很多内容与数据结构课上所学的可以相结合,理解应用上来说相对前面所学内容较为简单

参考资料

posted @ 2019-04-21 12:54  小忽悠yuooo  阅读(134)  评论(0编辑  收藏  举报