数据结构算法(排序)
来源:互联网 发布:php密码破解 编辑:程序博客网 时间:2024/05/17 04:30
Day07:再看一下通配符
Day08:
学习Java都要学什么?
JDk—->API—–>各种类
Java中的规范:
设计模式:解决问题的套路
算法(排序)
数据结构:就是存储数据的方式
堆栈结构:只有一个进出口的结构:
先进后出(后进先出)
FILO
队列结构:
特点:先进的先出(FIFO)
数组结构:
特点:由于数组结构有下标,我们就可以通过下标快速定位某一个元素
优点: 查找速度快,增删慢
缺点`:长度一定不可变.
链表结构:元素不叫元素,叫节点;
每个节点有两部分:
数值加存储的数值的地址
特点:
缺点:
查找速度慢
优点:
增删速度快
双向链表:
上元素地址 值 下元素地址
哈希表结构:
特点:查找快增删慢
=================================Collection两个子接口:
list:
特点:1.有序(不是指元素是1,2,3或者a,b,c),而是怎么存的怎么取,存入和取出的顺序一致
2.有下标
3.List中的元素可以重复
特有方法:
增:add(E e),add(int index,E e)
删:remove(Object obj);remove(int index)
改:set(int index,E e);
查:size(),get(int index)
List接口那些实现类?
ArrayList:底层采用数组结构,查找快,增删快
LinkedList:底层采用链表结构,查找慢,增删快
特有方法:大量的首尾操作的方法
第一组:addFirst(E e); addLast(E e)
第二组:
E getFirst(); E getLast();
第三组:E removeFirst(); E remove Last();
第四组:
E pop();(弹栈)思想不同,就是删除 功能与removeFirst相同
push(E e);(压栈):添加,功能与addFirst一样
Set:
特点:
1.无序:存取顺序不一致(LinkedHashSet与TreeSet除外)
2.无下标
3.不可重复
特有方法:
无
实现类:
HashSet:底层采用哈希表结构(数组+链表)查找快,增删快
特有方法:基本无
LinkHashSet
:
TreeSet:链表+其他结构
Vector:被ArrayList取代
哈希表:
对象的哈希值(我们以前说的地址值是不是实际的地址值,而是哈希值的16进制格式)
是一个对象的数字表示
对象的字符串表示:
int a=对象.hashCode();
对象的toString方法的返回值:包名.类名@地址值
HashSet的底层是通过什么方式判段的元素是否重复的:
1.先判断哈希值是否相同,再判断内容是否相同.都相同则不添
使用HashSet存储自定义元素时:
要保证自定义元素对象的唯一性,要重写hashCode和equals方法
ArrayList的contains
1.ArrayList元素可以重复
=================================总结:
1.目前为止,我们学的集合是不同步的,不安全的.
集合中可以存储null元素的
- c#数据结构------排序算法
- 数据结构-算法: 分配排序
- 数据结构排序算法总结
- 数据结构排序算法总结
- 数据结构之排序算法
- 数据结构-排序算法
- 数据结构中的排序算法
- 数据结构排序算法总结
- 数据结构之排序算法
- 数据结构算法----选择排序
- 数据结构排序算法总结
- 数据结构中的排序算法
- 【数据结构与算法】排序
- 数据结构-冒泡排序算法
- 数据结构-选择排序算法
- 数据结构-插入排序算法
- 数据结构之排序算法
- 数据结构排序算法归纳
- Maven项目标准目录结构
- okhttp
- No symbol table is loaded. Use the "file" command. 解决方案
- 集合
- JSP内置对象
- 数据结构算法(排序)
- 348B
- mybatis配置文件详解
- 工程物料管理信息化建设(一)——什么是工程物料管理系统
- Unable to connect to server xxxx: 未将对象引用设置到对象的实例
- python---函数基础课程
- 再看一个精妙的单例
- lis算法
- 素描绘画Sketch Touch