JAVAOOP重点笔记总结_第1页
JAVAOOP重点笔记总结_第2页
JAVAOOP重点笔记总结_第3页
JAVAOOP重点笔记总结_第4页
JAVAOOP重点笔记总结_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章Java常用基础类6.0 本章目标理解什么是Java基础类 熟练使用Java包装类理解String类及字符串不变性熟练使用StringBuffer类熟练使用Random类掌握Date类熟练使用Calendar类构建日历掌握SimpleDateFormat类用法了解Math最终类6.1 什么是JAVA基础类6.2 JAVA包装类6.2.1 为什么需要包装类6.2.2 JAVA的8种包装类基本数据类型 对应包装类 boolean Boolean byte Byte short Short int Integer long Long char Character float Float dou

2、ble Double 6.2.3 Integer包装类 Integer的属性/、属性。/static int MAX_VALUE:返回最大的整型数;/static int MIN_VALUE:返回最小的整型数;/static Class TYPE :返回当前类型。/例子:System.out.println(Integer.MAX_VALUE: + Integer.MAX_VALUE );System.out.println(TYPE: + Integer.TYPE ); Integer的构造函数/Integer(int value) :通过一个int的类型构造对象;/Integer(Stri

3、ng s) :通过一个String的类型构造对象;/例子:Integer i = new Integer(1234);/生成了一个值为1234的Integer对象。Integer y = new Integer(123);/生成了一个值为1234的Integer对象。 Integer的方法/int intValue() 把Integer转化为int类型/static int parseInt(String s)用于字符串转化为int类型/int compareTo(Integer anotherInteger) /比较两个整数。相等时返回;小于时返回负数;大于时返回正数。/例子:Integer

4、 i = new Integer(1234);int c=Value(); /把Integer转化为int类型System.out.println(c);int c2=Integer.parseInt(123);/用于字符串转化为int类型Integer y = new Integer(123);int c3=pareTo(y);6.2.4 Character包装类Character 类在对象中包装一个基本类型 char 的值方法例子:判断是否为数字或者字母 if(Character.isLetterOrDigit(a) System.out.println(是数字或者是字母); 判断是否为小

5、写字母,是则转换成大写字母 if(Character.isLowerCase(a) System.out.println(Character.toUpperCase(a); 6.3 String字符串类6.3.1 String类初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = abc; s = Java语言; 其实按照面向对象的标准语法,其格式应该为: String s = new String(abc); s = new String(Java语言);只是按照面向对象的标准语法,在内存使用上存在比较

6、大的浪费。例如String s = new String(abc);实际上创建了两个String对象,一个是abc对象,存储在常量空间中,一个是使用new关键字为对象s申请的空间6.3.2 String的构造方法构造器 描述 String() 构造一个空字符串对象 String(byte bytes) 通过byte数组构造字符串对象 String(char chars) 通过字符数组构造字符串对象 String(StringBuffer buffer) 通过StringBuffer数组构造字符串对象 String ss=new String(sds);/构造方法1 System.out.pri

7、ntln(ss); char dd = a, b, c;/构造方法2 String str = new String(dd); byte vv = a, b, c;/构造方法2 String str2 = new String(vv); StringBuffer sb=new StringBuffer();/构造方法3 sb.append(abcc); String sss=new String(sb); System.out.println(sss); String ssss=new String();/构造方法46.3.3 String的常用方法 /(1) charAt方法 /该方法的作用

8、是按照索引值获得字符串中的指定字符。 String s = abc; char c = s.charAt(1);/ (2) compareTo方法 /该方法的作用是比较两个字符串的大小,比较的原理是依次比较每个字符的字符编码。首先比较两个字符串的第一个字符, /如果第一个字符串的字符编码大于第二个的字符串的字符编码,则返回大于0的值,如果小于则返回小于0的值, /如果相等则比较后续的字符,如果两个字符串中的字符编码完全相同则返回0。 String ss = abc; String ss1 = abd; int value = pareTo(ss1); / 则value的值是小于0的值,即-1。

9、 /(3) concat方法 /该方法的作用是进行字符串的连接,将两个字符串连接以后形成一个新的字符串。例如: String a = abc; String a1 = def; String s2 = s.concat(a1); /则连接以后生成的新字符串s2的值是abcdef/(4) endsWith方法 /该方法的作用是判断字符串是否以某个字符串结尾,如果以对应的字符串结尾,则返回true。 String b1 = student.doc; boolean bb1 = s.endsWith(doc); /则变量b的值是true。/(5) equals方法 /该方法的作用是判断两个字符串对象

10、的内容是否相同。如果相同则返回true,否则返回false。例如: String d = abc; String d1 = new String(abc); boolean bb = d.equals(d1); / 而使用=比较的是两个对象在内存中存储的地址是否一样 /(6) getBytes方法 /该方法的作用是将字符串转换为对应的byte数组,从而便于数据的存储和传输。例如: String sss = 计算机; byte e = s.getBytes(); /使用本机默认的字符串转换为byte数组 byte e2 = s.getBytes(gb2312); /使用gb2312字符集转换为b

11、yte数组 / 在实际转换时,一定要注意字符集的问题,否则中文在转换时将会出现问题。/(7) indexOf方法 /该方法的作用是查找特定字符或字符串在当前字符串中的起始位置,如果不存在则返回-1。 String sssss = abcded; int index =sssss.indexOf(d); int index1 = sssss.indexOf(h); /则返回字符d在字符串s中第一次出现的位置,数值为3。由于字符h在字符串s中不存在,则index1的值是-1。/ (8) length方法 /该方法的作用是返回字符串的长度,也就是返回字符串中字符的个数。中文字符也是一个字符 Stri

12、ng sa = abc; String sa1 = Java语言; int len = sa.length(); int len1 = sa1.length(); /则变量len的值是3,变量len1的值是6。/ (9) replace方法 /该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变: String sb = abcat; String sb1 = sb.replace(a,f); /(10) split方法 /该方法的作用是以特定的字符串作为间隔,拆分当前字符串的内容,一般拆分以后会获得一个字符串数组 String sc =

13、 ab,12,df; String sc1 = sc.split(,); /该代码的作用是以字符串”,”作为间隔,拆分字符串s,从而得到拆分以后的字符串数字s1,其内容为:ab,12,df。 /(11) startsWith方法 /该方法的作用和endsWith方法类似,只是该方法是判断字符串是否以某个字符串作为开始。例如: String sd = TestGame; boolean b3 = sd.startsWith(Test); /则变量b的值是true。/(12) substring方法 /该方法的作用是取字符串中的“子串”,所谓“子串”即字符串中的一部分。例如23是字符串123的子串

14、。 String se = Test; String se1 = se.substring(2); / 则该代码的作用是取字符串s中索引值为2(包括)以后的所有字符作为子串,则字符串s1的值是st。/(13) toCharArray方法 /该方法的作用和getBytes方法类似,即将字符串转换为对应的char数组。例如: String sf = abc; char ccc = sf.toCharArray(); /则字符数组c的值为:a,b,c。/(14) toLowerCase方法 /该方法的作用是将字符串中所有大写字符都转换为小写。例如: String sg = AbC123; Strin

15、g sg1 = sg.toLowerCase(); /则字符串s1的值是abc123,而字符串s的值不变。/(15) trim方法 /该方法的作用是去掉字符串开始和结尾的所有空格,然后形成一个新的字符串。该方法不去掉字符串中间的空格。 String sh = abc abc 123 ; String sh1 = sh.trim(); /则字符串s1的值为:abc abc 123。字符串s的值不变。/(16) valueOf方法 /该方法的作用是将其它类型的数据转换为字符串类型。需要注意的是,基本数据和字符串对象之间不能使用以前的强制类型转换的语法进行转换。 int n = 10; String

16、 scc = String.valueOf(n); /则字符串s的值是10。6.4 StringBuffer类6.4.1 为什么要用StringBuffer类String s1 = new String(hello );/将svse连接在s1的后面s1.concat(svse);System.out.println(s1 = + s1);/ 使用replace方法把s2中的字符o替换为uString s2 = new String(good morning!);s2.replace(o, u);System.out.println(s2 = + s2);因为字符串具有不变性: 一个字符串一旦创

17、建,这个存放字符串的值的内存空间,将不能改变。6.4.2 StringBuffer的构造方法、构造函数。StringBuffer() :构造一个没有任何字符的StringBuffer类。StringBuffer(int length) :构造一个没有任何字符的StringBuffer类,并且,其长度为length。StringBuffer(String str) :以str为初始值构造一个StringBuffer类。 StringBuffer s = new StringBuffer(); / 这样初始化出的StringBuffer对象是一个空的对象。 StringBuffer s = new

18、 StringBuffer(abc); /这样初始化出的StringBuffer对象的内容就是字符串”abc”。/StringBuffer对象和String对象之间的互转的代码如下: String s = abc; StringBuffer sb1 = new StringBuffer(123); StringBuffer sb2 = new StringBuffer(s); /String转换为StringBuffer String s1 = sb1.toString(); /StringBuffer转换为String6.4.3 StringBuffer类的常用方法 / StringBuff

19、er类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。 /1、append方法 /public StringBuffer append(boolean b) / 该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变,例如: StringBuffer sb = new StringBuffer(abc); sb.append(true); /则对象sb的值将变成”abctrue”。 /使用该方法进行字符串的连接,将比String更加节

20、约内容,例如应用于数据库SQL语句的连接,例如: StringBuffer sb = new StringBuffer(); String user = test; String pwd = 123; sb.append(select * from userInfo where username=) sb.append( user); sb.append( and pwd=); sb.append(pwd); /这样对象sb的值就是字符串“select * from userInfo where username=test and pwd=123”。 /2、deleteCharAt方法 /pu

21、blic StringBuffer deleteCharAt(int index) /该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。例如: StringBuffer sb = new StringBuffer(Test); sb.deleteCharAt(1); /该代码的作用删除字符串对象sb中索引值为1的字符,也就是删除第二个字符,剩余的内容组成一个新的字符串。所以对象sb的值变为”Tst”。 /3、insert方法 /public StringBuffer insert(int offset, boolean b) /该方法的作用是在StringBuffer对象中插入

22、内容,然后形成新的字符串。例如: StringBuffer sb = new StringBuffer(TestString); sb.insert(4,false); /作用是在对象sb的索引值4的位置插入false值,形成新的字符串,则执行以后对象sb的值是”TestfalseString”。 /4、reverse方法 / public StringBuffer reverse() /该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。例如: StringBuffer sb = new StringBuffer(abc); sb.reverse(); /经过反转以

23、后,对象sb中的内容将变为cba。 / 5、setCharAt方法 / public void setCharAt(int index, char ch) /该方法的作用是修改对象中索引值为index位置的字符为新的字符ch。例如: StringBuffer sb = new StringBuffer(abc); sb.setCharAt(1,D); / 则对象sb的值将变成”aDc”。 / 6、trimToSize方法 / public void trimToSize() / 该方法的作用是将StringBuffer对象的中存储空间缩小到和字符串长度一样的长度,减少空间的浪费。6.5 Ran

24、dom随机类6.5.1 Random简介Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。6.5.2 Random的构造函数Random类包含两个构造方法。 a、public Random()该构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数,然后使

25、用这个种子数构造Random对象。 b、public Random(long seed)示例代码:Random r = new Random();Random r1 = new Random(10);6.5.3 Random常用方法1、public boolean nextBoolean()/该方法的作用是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。2、public double nextDouble()/该方法的作用是生成一个随机的double值,数值介于0,1.0)之间。 3、public int nextInt()/该方法的作用是生成一个

26、随机的int值,该值介于int的区间,也就是-231到231-1之间。4、public int nextInt(int n)/该方法的作用是生成一个随机的int值,该值介于0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。5、public void setSeed(long seed)/该方法的作用是重新设置Random对象中的种子数。设置完种子数以后的Random对象和相同种子数使用new关键字创建出的Random对象相同6.5.4 Random使用案例/输出,0-100的100个随机数Random r1 = new Random();for(int i=0;i100;i+)

27、 int a= r1.nextInt(100); /指定在100以内随机 System.out.println(a); 6.6 Math算术运算类6.6.1 Math类简介Math类中的静态方法帮助我们完成基本的数学运算6.6.2 Math常用方法 / 绝对值System.out.println(abs of -1 : + Math.abs(-1);/ 比这个数大的最小整数System.out.println(ceil of 9.01 : + Math.ceil(9.01);/ 比这个数小的最大整数System.out.println(floor of 9.99 : + Math.floor(

28、9.99);/ 取较大者System.out.println(the max is : + Math.max(101, 276.001);/ 随机数,区间为0.0,1.0)System.out.println(random number : + Math.random();/ 四舍五入System.out.println(round value of 9.49 : + Math.round(9.49);/ 返回正确舍入的 double 值的正平方根System.out.println(square root of 225 : + Math.sqrt(225);6.7 Date时间类6.7.1

29、Date类简介6.7.2 Date类的构造方法Date date1 = new Date();/得到系统当前时间Date date2 = new Date(1233997578421L);/参数是毫秒,LONG类型,得到是从1970.1.1日0点0分0秒经过1233997578421L毫秒后的日期6.7.3 Date类常用方法 Date date1 = new Date();Date date2 = new Date(1233997578421L);/输出date1、date2对象所对应的毫秒数System.out.println(date1.getTime();System.out.prin

30、tln(date2.getTime();After()方法,比较2个日期的大小/查看date1是否在date2后boolean isAfter = date1.after(date2);System.out.println(is date1 after date2:+isAfter);date1.setTime(1133997578421L);isAfter = date1.after(date2);System.out.println(is date1 after date2:+isAfter);getTime()方法返回Date对象的long值(毫秒数) Date now = new Da

31、te(); long nowLong = now.getTime(); System.out.println(Value is + nowLong);6.8 SimpleDateFormat日历格式化6.8.1 SimpleDateFormat简介6.8.2 SimpleDateFormat的构造方法6.8.3 SimpleDateFormat常用方法将日期类型转化为指定格式的字符串Format方法 Date dt = new Date(); SimpleDateFormat myFmt=new SimpleDateFormat(yyyy年MM月dd日 HH时mm分ss秒 );String d

32、ate_str= myFmt.format(dt);System.out.println(date_str);将字符串转化为日期类型Parse方法SimpleDateFormat format = new SimpleDateFormat(dd/MM/yyyy); Date date=null;date = format.parse(22/12/2011);System.out.println(date);6.9 Calendar日历类6.9.1 Calendar简介Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之

33、间的转换提供了一些方法。Calendar类是一个抽象类,不能直接通过new关键字创建Calendar类的实例,可以借助于该类提供的静态方法getInstance()来获得一个Calendar对象 6.9.2 Calendar类常用方法1,Calendar转化为date类型 Calendar cal=Calendar.getInstance();/得到的是当前时间Date date=cal.getTime();System.out.println(date); /给日历设置个指定时间,用setTime()方法SimpleDateFormat format = new SimpleDateForm

34、at(dd/MM/yyyy); Date date1=null;date1 = format.parse(22/12/2011); Calendar cal=Calendar.getInstance();cal.setTime(date1);Date date=cal.getTime(); System.out.println(date);/(2) Date转化为CalendarDate date=new Date();Calendar cal=Calendar.getInstance();cal.setTime(date);/Calendar类的静态办法getInstance()可以初始化一

35、个日历对象:Calendar now = Calendar.getInstance(); 可以应用下面三个办法把日历定到任何一个时候: /set(int year ,int month,int date) /set(int year ,int month,int date,int hour,int minute) /set(int year ,int month,int date,int hour,int minute,int second) /设置日历,和获得日历中年月日方法 Calendar now = Calendar.getInstance(); now.set(2012,4,5);

36、Date dt1= now.getTime();System.out.println(now.get(Calendar.YEAR);System.out.println(now.get(Calendar.MONTH);System.out.println(now.get(Calendar.DATE);/ add方法,改变年月日/ HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Calendar.html l get(int) get(intfie

37、ld) 返回给定日历字段的值Calendar ca = Calendar.getInstance();System.out.println(year is :+ca.get(Calendar.YEAR);ca.add(Calendar.YEAR, 2); /为年份增加1System.out.println(year is :+ca.get(Calendar.YEAR);ca.set(Calendar.YEAR,2009); /设置ca的年份System.out.println(year is :+ca.get(Calendar.YEAR);/今天是今年的第几天System.out.printl

38、n(day of year:+ca.get(Calendar.DAY_OF_YEAR);/今天是本周的第几天,注意默认情况下周日是第一天System.out.println(day of week : +ca.get(Calendar.DAY_OF_WEEK);/获得对应的Date对象Date date = ca.getTime();System.out.println(date time : +date.getTime();System.out.println(calendar time : +ca.getTimeInMillis();第7章 集合框架和泛型7.0 本章目标理解集合框架掌握A

39、rrayList与LinkedList类掌握HashMap与LinkedHashMap 掌握Iterator类掌握Collections类和Arrays类7.1 Java集合框架(JCF)7.1.1 为什么需要集合框架指集合框架里的集合类7.1.2 什么是集合框架所有集合类都位于java.util包下什么是集合框架类(集合): 在JAVA中的一些特殊的类,内部可以存放多个各种数据类型的元素的类。(不定长),每个集合都是个容器。7.1.3 集合框架里的接口放的是键值对放的是一个个单独的元素存放的数据,无序的,不能重复的存放的数据,有序的可以重复的(其实Collection下还有Queue接口,暂

40、时本章不学)Map、List、Set等三种集合类型的存储示意图(如果哪个集合类实现了某这3个接口种1个,该集合类就属于这一集合类别) 集合类主要有4种类型的总结:集合分类集合类说明Set(集)HashSet,TreeSet对象不按特定方式排序,只是简单把对象放入集合中,如小孩的书包(不允许重复)List(列表)Vector、Stack,LinkedList、ArrayList线性方式存储。(运行有重复的元素)Queue(对列)Map(映射:键值对)HashTable、HashMap、TreeMap键值对存放元素(key不能重复)7.1.4 整个集合框架图7.2 集合框架中接口详解7.2.1 C

41、ollection接口 Collection接口简介Collection 是集合框架中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List和Queue)实现。 注意Map不是Collection的子接口 Collection的方法返回值类型方法和备注boolean HYPERLINK mk:MSITStore:C:Documents%20and%20S

42、ettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l add(E) add( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html o Collection 中的类型参数 Ee) 确保此 collection 包含指定的元素(可选操作)。boolean HYPERLINK mk:MSITStore:C:Documents%20an

43、d%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l addAll(java.util.Collection) addAll( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html o java.util 中的接口 Collectionc) 将指定 collection 中的所有元素都添加到此 collection 中(

44、可选操作)。void HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l clear() clear() 移除此 collection 中的所有元素(可选操作)。boolean HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l con

45、tains(java.lang.Object) contains( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/lang/Object.html o java.lang 中的类 Objecto) 如果此 collection 包含指定的元素,则返回 true。boolean HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/j

46、ava/util/Collection.html l containsAll(java.util.Collection) containsAll( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html o java.util 中的接口 Collectionc) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。boolean HYPERLINK mk:MSITStore:C:D

47、ocuments%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l equals(java.lang.Object) equals( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/lang/Object.html o java.lang 中的类 Objecto) 比较此 collection 与指定对象是否相等。int HYPERLINK m

48、k:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l hashCode() hashCode() 返回此 collection 的哈希码值。boolean HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l isEmpty() isEmpty() 如果此 co

49、llection 不包含元素,则返回 true。 HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Iterator.html o java.util 中的接口 Iterator HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l iterator() iterator

50、() 返回在此 collection 的元素上进行迭代的迭代器。boolean HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l remove(java.lang.Object) remove( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/lang/Object.html

51、 o java.lang 中的类 Objecto) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。boolean HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l removeAll(java.util.Collection) removeAll( HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面

52、JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html o java.util 中的接口 Collectionc) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。boolean HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l retainAll(java.util.Collection) retainAll( HYPE

53、RLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html o java.util 中的接口 Collectionc) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。int HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collectio

54、n.html l size() size() 返回此 collection 中的元素数。 HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/lang/Object.html o java.lang 中的类 Object HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l toAr

55、ray() toArray() 返回包含此 collection 中所有元素的数组。 T HYPERLINK mk:MSITStore:C:Documents%20and%20SettingsAdministrator桌面JDK_API_1_6_zh_CN.CHM:/java/util/Collection.html l toArray(T) toArray(Ta) 返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。7.2.2 List接口 List接口简介List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能

56、够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。 和下面要提到的Set不同,List允许有相同的元素。 除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一个ListIterator接口,和标准的Iterator接口相比,ListIterator多了一些add()之类的方法,允许添加,删除,设定元素,还能向前或向后遍历。 实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。7.2.3 Set接口 Set接口简介Set是一种不包含重

57、复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。7.2.4 Map接口 Map接口简介 Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。7.3 ArrayList类7.3.1 ArrayList简介ArrayList就

58、是传说中的动态 HYPERLINK /view/209670.htm t _blank 数组ArrayLis比较简单,就是对一个数组的一系列操作,比如添加一个元素后如果容量满则扩容操作、删除一个元素后使数组后面的元素像前移操作、 特点如下:大小是可变的,是自动增长的。可以动态的增加或减少元素。实现了IColletion和IList接口。它是非同步的集合类。(多个线程同时访问)元素可以重复ArrayList存储数据采用的线性表的方式7.3.2 ArrayList的常用方法常用方法1: / 创建ArrayList对象ArrayList all=new ArrayList();System.out.

59、println(all.isEmpty();all.add(zhangsan); /添加元素all.add(new person(lisi,22); all.add(1,new person(wangwu,33);all.add(new Integer(3); /all.addAll(all);/添加集合 /按索引删除元素 / all.remove(1); /按内容删除/all.remove(zhangsan); /整块删除 /all.subList(0, 2).clear(); all.clear();/清空集合 System.out.println(arraylist的大小是:+all.s

60、ize();常用方法2:person p1=new person(lisi,22);person p2=new person(wangwu,33); / 创建ArrayList对象ArrayList all=new ArrayList();System.out.println(all.isEmpty();all.add(zhangsan); /添加元素all.add(p1); all.add(1,p2);all.add(lisi); /添加元素all.add(new Integer(3); all.add(p2); int index1=all.indexOf(p2);/求某个元素所在的位置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论