为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

难度入门
时长 5小时 0分
学习人数
综合评分9.50
1125人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.4 逻辑清晰
Entry类中对象的getKey()方法用来获取key值,getValue()方法用来获取value值
continue是多余的...如果已经存在Key,那么i都不会执行i++;会跳到循环的开始重新执行。
put(key,value):向Map集合中存入数据
size();获取Map集合键值对的个数
Map接口提供了分别返回Key值集合,value值集合以及Entry(键值对)集合的方法
get(键):获取Map中键对应的值;entrySet():返回Map中的键值对的集合,为Set类型;keySet():返回Map中的所有键的集合,为Set类型。values():返回Map中的所有值的集合,为Collection类型
Map支持泛型。形式如Map<key,value>
HashMap 是Map中的一个重要实现类,也是最常用的,基于哈希表实现
HashMap中的Entry对象是无序排列的。Key值和Value值都可以为null,但是一个HashMap中只能有一个key值为null的映射
Map接口
Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value
Map中的键值对以Entry类型的对象实例形式存在
键(key值)不可重复,value是可以重复的。每个键最多能映射一个value值
时间转换格式(“”)问号里的代表作用,搞不清
Set是元素无序并且不可重复的集合,被称为“集”。
HashSet——哈希集,是Set的一个重要实现类
Set中没有set()方法修改某个位置上的元素,因为Set集合是无序的,不能通过索引来修改
在输入Set集合元素的时候只能用foreach方法和iterator方法,不能使用get方法
Set中添加某个对象,无论添加多少次,最终只会保留一个该对象(的引用),并且,保留的是第一次添加的那个。Set中是可以添加空对象null的。
没有什么是自己敲一遍不明白的,如果有那就两遍
需要注意的一点:父类如果只添加了有参数的构造器,那么在刚创建完子类后,子类会报错,需要在父类手动添加一个无参的构造器
在泛型集合中,除了可以存放泛型类型的对象实例,还可以存放泛型子类型的对象实例
list.add(ChildCourse的对象);//ChildCourse类继承与Course类,这里是可以添加Course的子类对象作为集合元素的。
泛型集合中的限定类型不能是基本数据类型,必须是引用数据类型,但可以使用包装类限定允许存入的基本数据类型
使用泛型管理集合
MyEclipse中的快捷键:选中一段代码,按Ctrl+shift+c可以快速添加注释
如果往集合中添加的元素不是同种类型的,会出现类型转换异常。可以使用泛型保证添加到集合中的元素都是同种类型。
集合中的元素,可以是任意类型的对象(对象的引用),如果把某个对象放入集合,则会忽略他的类型,而把他当做Object处理,而泛型则是规定了某个集合只可以存放特定类型的对象,还会在编译期间进行类型检查,可以直接按指定类型获取集合元素
示例:List<Course> list=new ArrayList<Course>();
删除元素:
list.remove(元素);删除集合中的元素,举例:如果list集合对象中索引位置1和索引位置4都是元素object,那么索引位置4上的object将被删除,索引位置1上的object不会被删除。
list.remove(index);删除索引位置上的元素,index的范围必须在集合的范围之内,否则会出现索引下标越界异常
list.removeAll(集合);从这个列表中删除包含在指定集合中的所有元素,可以用Arrays.asList(数组名)的方法把数组转换成集合
替换元素位置:
list.set(index,元素);用指定的元素替换指定位置的元素
list.size():获取元素的长度(个数)
通过迭代器遍历集合中的元素:
Iterator迭代器本身是一个接口
list.iterator()返回一个迭代器的实例对象
Iterator i=list.iterator();
i.hasNext();//判断集合中是否还有元素,有返回true,没有返回false
i.next();//返回迭代器中的下一个元素值
迭代器是用来遍历集合中的元素的,本身不具备存储元素的功能。
最后再强调一遍:对象存储到集合中后,类型是被忽略了,默认变成了Object类型,在取值的时候需要再强转。
list.addAll(集合对象);把一个集合添加到另一个集合的队尾位置
list.addAll(index,集合对象);把一个集合添加到另一个集合的指定位置
Arrays.asList(数组):把一个数组转换成List集合

最赞回答 / 慕少3462033
这恰巧是你修改为UTF-8引起的问题,这是eclipse的bug,就是不能自动识别javaVM运行环境,例如你设置的全部为UTF-8,那么MyEclipse会默认你的运行环境是UTF-8,实际情况是你的系统是中文版本系统,默认的JavaVM运行环境是GBK,而你控制台却是UTF-8,输出编码出现异常,故输出是乱码。这是比较复杂的,我暂时也没有找到一个一劳永逸的解决方法,只能针对单个执行文件分别设置JAVA虚拟机运行环境(你修改的结果只对当前执行文件有效,不知道怎么将控制台编码缺省值修改为GBK)。具体这么...
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消