可视化方向实训10

1、数据结构

是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关

Java :

变量:只能存储一个

数组:存储一堆,数组一旦申明长度,能够存储数据的个数就固定了

数据结构:就是一种数据存储、排列的方式

对于存储的数据一般的维护工作:添加删除更新查找

目前世界上没有任何一种数据结构,添加删除更新查找都是非常高效

1.1、常见的数据结构的算法:

     数组(Array):删除效率低

     栈( Stack)

     队列(Queue):

    通常的讲,队列就是排队

    特点FIFO:先进先出

    链表( Linked List)

    树(Tree)

    图(Graph)

    堆(Heap)

     散列表(Hash)

2、列表的引入

前面学习的可以存储数据:

1.变量---只能存储一个指定类型数据
int a=10;

2.数组---能存储多个指定类型的数据

int[ ] arr=new int[10];

特点:能够存储指定个数以及类型的数据

有没有一种容器,能够存储任何类型,在=任意长度的数据?

有-----集合容器list,set,map

3、如何创建ArrayList对象。

javaAPI里面收缩list,java.awt是做图形界面的。

 list:

public interface List<ESxtends collection

接口和抽象类new不了

list指的是有序的集合。

(提供了添加数据、移除数据,根据索引位置获取数据,获取存储个数的方法)

3.1、ArrayList::基于数组的集合实现类

这些方法只能用对象调用

booleanadd(E e)-将指定的元素添加到此列表的尾部。

object get(irindex)返回此列表中指定位置上的元素。

object remove(int index)移除此列表中指定位置上的元素。

int size()返回此列表中的元素数。

void clear(移除此列表中的所有元素。

3.2、LinkedList:基于链表的集合实现类

1、链表


boolean add(E e)将指定的元素添加到此列表的尾部。

object get(int index)返回此列表中指定位置上的元素。

object remove(int index)移除此列表中指定位置上的元素。

int size()返回此列表中的元素数。
void clear()移除此列表中的所有元素。

4、map存储的数据特点

map:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。(

map:用来存储类似于下面的这种数据(key,value)

key不可重复,具有唯一性,后面只能记录一个值

value就可以重复

map里面的常用方法:

  void clear()从此映射中移除所有映射关系(可选操作)。

  Object put(object key,object value)将指定的值与此映射中的指定键关联(可选操作)

  int size()返回此映射中的键-值映射关系数。

  0bject remove(Object k)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)

  Object( get(object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null

HashMap()构造一个具有默认初始容量(16)和默认加载因子(0.75)的空HashMap。

添加数据是重复key时,会覆盖原有数据

5、map的遍历

Set set=map.keySet();

fore+alt+/:for (Object o : set) {}

解释:Object object(把每一个数据取出来,赋值给变量o) : set(数据源)

6、泛型

泛型:
K-v-T-E-c:都是泛型一种体现,在jdk1.5版本引入

在代码设计的时候,设计者不去确定具体的类型,由用户自己去定义数据类型

注意:1.如果泛型不指定的话,就是object类型

        2.泛型不支持基本数据类型

使泛型来定义集合对象

List<E>此处的E就是要用户自己去约定当前的集合里面存储的内容

ex:以下的代码泛型规定了是string , list2里面只能放string类型的数据

List<String> list2=new ArrayList<String>();

List<String> list2=new ArrayList<>();//jdk1.7以后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值