- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[教育学]JAVA程序设计——教案二
JAVA程序设计——教案(二)
HPU CST 吴正江
配套教材:
张化祥《JAVA语言基础教程》清华大学出版社2007
第6章 数组、字符串及容器类
批量处理数据必须的知识——把他们存储起来。
数组
第三个引用类型变量
6.1 一维数组
声明:
arraytype arrayName[]
arraytype [] arrayName
arrayName是一个指针
初始化
arrayName = new arraytype[ArrayLength]
arrayName = {typeVar, … };
引用
arrayName[index]
问题: arrNam1= arrNam2 能复制数组吗?
练习:New 一个对象数组。
6.2 二维数组
声明: int [][] arrName;
初始化:
arrName = new int [num1][num2];
arrName = new int[num1][];
arrName[0]=new int[num];
arrName={{},{},{}};
二维数组不一定是矩阵哦!
引用:arrName[index];
6.3 字符串处理
java.lang.String
查找,不能修改
java.lang.StringBuffer;
查找,可以修改
几个基础数据类型的包装类
练习:
1.将一个数字变成表示为两进制;
2.从字符串变成数字
6.4 数组与容器的比较
数组与容器的区别:P138
数组的深拷贝System.arraycopy()方法
容器需要自定义的深拷贝
6.4 java.util.Arrays类——数组的工具类
比较两个数组
Arrays.equals()依靠class A overide Object.equals()
数组内元素的比较
Arrays.sort()依靠class A impliments parable 或implements parator
数组内元素的快速查找
Arrays.binarySearch()依靠sort();
toString();
例6.13 P143
容器(难点1)
6.5 容器
图6.3 P152
java.util.Collections的工具类
6.5 Collection(interface)
基本操作:
增:boolean add(Object obj);
删:boolean remove(Object obj);
查:boolean contains(Object obj);
大小: int size();
批量操作:
boolean containsAll(Collection c);
boolean addAll(Collection c);
数组转化操作:
Object[] toArray();
6.5 List(interface)
继承了Collection(interface)的全部操作
因其每个对象都有序号对应。
增加基本操作:
增/改:Object set(int index, Object obj);
查:Object get(int index);
删:Object remove(int index);
6.6 Set(interface)
extends Collection
Set内不允许存在重复元素
SortedSet(interface)
依赖于comparator(interface)
或comparable(interface)
chapter6\Overide623.java
补充:迭代器Iterator
Iterator, 遍历Set,List(Collection)的工具;
ListIterator, 遍历List的工具;
Iterator由每一个容器生成,所以我们只需要知道其接口内容,即可完成我们的操作:
java.util.Iterator (interface)
next();
hasNext();
remove(); 一般不用。
6.6 Set(interface)
HashSet
依赖于java.lang.Object中的equals(), hashcode();
hashcode()一些说明:
不相等的对象生成不同整数结果可以提高哈希表的性能
如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。
6.7 Map
Map : (Key, Value)类似于自定义标签的List.
Key是一个Set,不能重复
Value相当于一个List
6.7 Map接口
增/改:Object put(Obj key, Obj Value)
删:Object remove(Obj
文档评论(0)