《Java知识点总结系列》第十一章集合篇Word文件下载.docx

上传人:b****5 文档编号:16327327 上传时间:2022-11-22 格式:DOCX 页数:22 大小:262.05KB
下载 相关 举报
《Java知识点总结系列》第十一章集合篇Word文件下载.docx_第1页
第1页 / 共22页
《Java知识点总结系列》第十一章集合篇Word文件下载.docx_第2页
第2页 / 共22页
《Java知识点总结系列》第十一章集合篇Word文件下载.docx_第3页
第3页 / 共22页
《Java知识点总结系列》第十一章集合篇Word文件下载.docx_第4页
第4页 / 共22页
《Java知识点总结系列》第十一章集合篇Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

《Java知识点总结系列》第十一章集合篇Word文件下载.docx

《《Java知识点总结系列》第十一章集合篇Word文件下载.docx》由会员分享,可在线阅读,更多相关《《Java知识点总结系列》第十一章集合篇Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

《Java知识点总结系列》第十一章集合篇Word文件下载.docx

booleanisEmpty();

booleanremove(Objecto);

voidclear();

intsize();

Iteratoriterator();

//遍历

Objectget(intindex);

1.ArrayList是List接口的实现类

importjava.util.*;

Listl=newArrayList();

从0开始

2.Iterator遍历

Iteratori=List.iterator();

publicbooleanhasNext();

publicObjectnext();

//指针往下走一格

3.List排序

a)voidCollections.sort(List);

//默认升序

自动排序阿拉伯字母1-9,字母:

a-z,A-Z,字符串比较首字母,相同比较第二个,以此类推。

b)对Student类进行排序//出现异常,不知道排序规则

c) 

Comparable接口

publicintcompareTo(){

当前对象排序的属性值<

给定对象对应属性的值return负数

 

当前对象排序的属性值==给定对象对应属性的值return0

当前对象排序的属性值>

给定对象对应属性的值return正数

负零正(升序)正零负(降序)

}

eg:

returnthis.age–age;

[java] 

viewplaincopy

1.package 

chp11.ex06;

2. 

3.import 

java.util.ArrayList;

4.import 

java.util.Collections;

5.import 

java.util.Iterator;

6.import 

java.util.List;

7. 

8./** 

9. 

10. 

@Author:

Wentasy 

11. 

@FullName:

TestList2.java 

12. 

@Description:

对象排序 

实现Comparable接口 

重写compareTo方法 

13. 

@Create 

Date:

2012-8-15 

14. 

*/ 

15.class 

Student 

implements 

Comparable{ 

16. 

private 

String 

name;

17. 

int 

age;

18. 

19. 

public 

Student(String 

name,int 

age){ 

20. 

21. 

this.name 

22. 

this.age 

23. 

24. 

25. 

void 

setName(String 

name){ 

26. 

27. 

28. 

29. 

getName(){ 

30. 

return 

this.name;

31. 

32. 

33. 

setAge(int 

34. 

35. 

36. 

37. 

getAge(){ 

38. 

this.age;

39. 

40. 

41. 

/* 

42. 

compareTo(Object 

o) 

43. 

当前对象排序的属性值 

<

给定对象对应属性的值 

负数 

44. 

== 

45. 

>

正数 

46. 

47. 

48. 

49. 

50. 

51. 

o){ 

52. 

(Student)o;

53. 

pareTo(s.getName());

54. 

55. 

56. 

57. 

58. 

59. 

60. 

61. 

62. 

if(this.age<

s.age)return 

-1;

63. 

else 

if(this.age 

0;

64. 

1;

65. 

66. 

67. 

68. 

69. 

70. 

71. 

72. 

this.age-s.age;

73. 

74. 

75.} 

76. 

77.public 

class 

TestList2 

78. 

static 

main(String 

args[]){ 

79. 

s1 

new 

Student("

sun2"

20);

80. 

s2 

sun1"

10);

81. 

s3 

sun3"

30);

82. 

ArrayList();

83. 

l.add(s1);

84. 

l.add(s2);

85. 

l.add(s3);

86. 

87. 

Collections.sort(l);

88. 

89. 

Iterator 

l.iterator();

90. 

while(i.hasNext()){ 

91. 

(Student)i.next();

92. 

System.out.println(s.getName());

93. 

94. 

95.} 

d) 

String+8种包装类默认已经实现了Comparable接口

e)List排序原理

Comparable接口达成了使用者和提供者之间的约定

4.List接口的实现类

a)ArrayList和LinkedList

b)ArrayList和Vector

Set接口

1.Set接口

1. 

HashSet:

无顺序

不可重复

元素对应的对象的内容不可重复

3.HashSet怎样存储对象

a)Object类中定义了publicinthashCode();

b)HashSet怎样存储对象

调用hashCode

当hashCode值满足条件时,再调用equals方法

c) 

hashCode:

决定一个对象放在哪个桶(内存)里

d)对象内容相同,hashCode值相同,放在同一桶里,把重复数据过滤掉(覆盖)

4.hashCode方法的覆盖建议

publicinthashCode(){

returnage;

returnname.hashCode()&

1;

//字符串已经覆盖了hashCode()

1. 

SortedSet接口的实现类

2. 

可以排序,不可重复

3. 

元素必须实现Comparable接口

4. 

所有的Set接口的实现类对重复元素的处理不同

chp11.ex11;

java.util.Set;

java.util.TreeSet;

6. 

TestSet2.java 

TreeSet 

compareTo方法的重写优化 

if(this.age!

=s.age)return 

s.age;

pareTo(s.name);

48.} 

50.public 

TestSet2 

s4 

set 

TreeSet();

set.add(s1);

set.add(s2);

set.add(s3);

set.add(s4);

set.iterator();

69.} 

5. 

TreeSet过滤重复是以compareTo方法中判断两个内容是否相等作为判断重复数据的依据

Collection接口

Map接口

java.util.Map接口

key不可以重复,value可以重复

put(Objectket,Objectvalue);

get(Obejctkey);

remove(Objectkey);

clear();

isEmpty();

size();

HashMap的常规使用

Mapm=newHashMap();

HashMap的key也是通过Hash算法过滤重复数据

覆盖equals方法和hashCode

Map的key一般都应用String

3.Map的遍历

值遍历

chp11.ex13;

java.util.Collection;

java.util.Map;

java.util.TreeMap;

TestMap1.java 

值遍历 

15.public 

TestMap1 

TreeMap();

m.put("

key1"

 

"

value1"

);

key3"

"

value2"

value4"

key2"

Collection 

m.values();

c.iterator();

System.out.println(i.next());

30.} 

b)键遍历

TestMap2.java 

键遍历 

TestMap2 

m.keySet();

ii 

s.iterator();

while(ii.hasNext()){ 

System.out.println(ii.next());

31.} 

c)键值遍历

chp11.ex14;

java.util.HashMap;

java.util.Hashtable;

7.import 

8. 

9./** 

键值遍历 

15. 

16.public 

HashMap();

25.// 

26.// 

27.// 

28.// 

29.// 

Object 

key 

ii.next();

30.// 

System.out.println(key+"

+m.get(key));

31.// 

// 

错误的遍历方式 

每调用一次next 

指针往前移 

System.out.println(ii.next()+"

+m.get(ii.next()));

44.} 

1.TreeMap可以对key应用排序

TreeMap的key是通过Comparable接口过滤重复排序

3.Map的key一般都应用String

HashMap与HashTable

集合关系(5.0以前)

Object

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1