软件构造中运用到的数据类型

本文针对哈尔滨工业大学于大二春季开设的软件构造课程,对于其中出现的一些数据类型进行一些应用性的介绍,旨在帮助刚刚接触该课程和java编程的小白快速入门这几种数据类型。

1.数组(Array)

        数组大家都不陌生,在c语言的学习中大量运用了。但是要注意java语言的编程是一种面向对象的编程,对于一个数组,我们需要把他看成一个类,进行对象声明:

例如:int a[] = new int a[5]

        注意,一个数组在他定义之后,就不可以改变数组长度了。

初始化定义:

int a[] = {1, 2, 3, 4} or

int a[100] = {1, 2, 3, 4}; or

int a[] = new a[100]{1, 2, 3, 4};

对数组的长度求值:a.length;(注意,这里的length是成员变量!!!不是成员方法!!!)

2.列表(List)

        列表对于新手朋友(包括刚学的我)来说,是一个比较陌生的东西,哪怕很容易理解他的原理,关于一些基本操作也经常容易忘记。

        List其实和Array很像,但是不一样的地方在于他的长度是可变的,这样可以动态变化数据的规则。

初始化定义:List<Integer> list = new ArrayList<Integer>();

        注意这里对List的声明:开头和数组声明很相像,<>中表示在List中存储的数据类型是Integer,注意List中的变量必须是引用类型数据,不能是基本数据类型,像int啦,double啦统统不行(包括后续的Map和Set也是如此)。而后续new的东西变成了ArrayList,其实List是ArrayList的接口,同样的还有LinkList。当我们用父类的对象new了一个子类,则这个对象中接口的所有方法会被子类重写,成为ArrayList中的方法。我们都知道数组Array和链表Link对求和是不一样的,但是效果是一样的。因此采取不同的存储方式,自然是需要调用不同的方法。初学者采取ArrayList就可以了。接下来是对方法的一些介绍:

添加方法是:.add(e);  

获取方法是:.get(index);  

删除方法是:.remove(index); 按照索引删除   .remove(Object o); 按照元素内容删除 

list中是否包含某个元素方法:.contains(Object o); 返回true或者false

list中根据索引将元素数值改变(替换): .set(index, element);

注意 .set(index, element); 和 .add(index, element); 的不同:

 list的大小方法:.size();       返回数值

 

3.集合(Set)

我们说List和Array很像,那Set和List就更像了。Set作为一个集合,我们来回忆一下集合的性质:emmmm元素不能重复,元素无序······牢记这些性质,方法记忆起来也会变得十分方便。

初始化定义:Set<Integer> set = new HashSet<Integer>();

声明和List类似,注意Set中有HashSet和TreeSet。

添加方法是:.add(e);

集合中是否含有某个元素方法:set.contains(e);    返回Boolean
s2是否⊇s1方法:s1.containsAll(s2);                     返回Boolean
将s2中的元素从s1中移除:s1.removeAll(s2);

set的迭代遍历(使用迭代器):

Set set = new HashSet();
Iterator it = set.iterator();
while (it.hasNext()) {
        String str = it.next();
        System.out.println(str);
}

 

4.Map类(不晓得怎么翻译了)

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

Map的声明:HashMap<Phone,String> map = new HashMap<>();

map中键-值的添加:map.put(key, val) ;
map从键得到值:map.get(key);
测试map是否含有键值:map.containsKey(key);
从map中移除一个键-值map.remove(key);

4.关于迭代器

 

 上述左图和右图是一样的。

5.结语

至此,软件构造中所需要的数据类型全部在这了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值