java笔记

  • 格式:doc
  • 大小:94.50 KB
  • 文档页数:15

集合知识总结

ArrayList:

插入元素:在main函数中创建实例对象,然后通过“实例对象.add()进行元素添加;

删除元素:在main函数中创建实例对象,然后通过“实例对象.remove(元素位置或”元素”)进行元素移除;

修改元素:在main函数中创建实例对象,然后通过“实例对象.set(元素位置,”元素”)进行元素移除;

查询元素:在main函数中定义一个变量a,然后通过a=“实例对象.get(元素位置【从0开始】),如果所要获取的元素为字符串型,则需进行强转操作,如:String c = ( String )al.get( i );再通过System,out.println(a);打印出来;

元素遍历:定义一个变量len,然后通过len=“实例对象.size(此处不用填任何东西);获取集合的长度,最后通过for循环进行遍历。

判断元素存在与否:定义一个boolean类型的变量b,然后通过b=“实例对象.contain(要查看的元素);然后打印b,看结果是false还是true 。

Set的实现类:

HashSet类:

1、 元素添加与删除与ArrayList的相同;

2、 无修改方法,只能通过“先删除,再插入”的方法达到修改效果;

遍历:Iterator模式是用于遍历集合类的标准访问方法(遍历方法有多种,为何此模式会成为遍历集合类的标准访问方法??具体可查看JAVA Iterator 的用法)PPT中的遍历代码:

import java.util.HashSet;

import java.util.Iterator;

public class Person {

public static void main( String [] args ) {

HashSet s = new HashSet();

s.add( "Eric" );

s.add( "Janet" );

//int len = s.size();

Iterator itr = s.iterator();

while ( true ) {

boolean b = itr.hasNext();

if ( false == b ) {

break;

}

String str = ( String )itr.next();

System.out.println( str );

}

}

}

可做如下改进,代码更简洁:

import java.util.HashSet;

import java.util.Iterator;

public class Person {

public static void main( String [] args ) {

HashSet s = new HashSet();

s.add( "Eric" );

s.add( "Janet" );

for(Iterator it=s.iterator();it.hasNext();)

{

String a=(String)it.next();

System.out.println(a);

}

}

}

TreeSet类:

与HashSet类各方法的使用方式相比较,唯一的区别就是创建对象时的代码不同而已,只需将HashSet s = new HashSet();改为 TreeSet s = new TreeSet(); 即可。但是TreeSet相对于HashSet多了一个功能:自动将元素进行排序。

• 如何排序?

• 实现方式:

• 1、让实体类实现Comparable接口,并且实现这个接口中提供的compareTo排序方法

import java.util.Iterator;

import java.util.Set;

import java.util.TreeSet;

public class Person implements Comparable {

public int age;

public int compareTo(Object obj) {

Person p = ( Person )obj;

if ( this.age > p.age ) {

return 1;

} else if ( this.age < p.age ) { return -1;

} else {

return 0;

}

}

public static void main( String [] args ) {

Person p1 = new Person();

p1.age = 1;

Person p2 = new Person();

p2.age = 2;

Person p3 = new Person();

p3.age = 3;

Set s = new TreeSet();

s.add( p1 );

s.add( p2 );

s.add( p3 );

int len = s.size();

Iterator itr = s.iterator();

while ( true ) {

boolean b = itr.hasNext();

if ( false == b ) {

break;

}

Person p = ( Person )itr.next();

System.out.println( p.age );

}

}

}

代码改进:

import java.util.Iterator;

import java.util.Set;

import java.util.TreeSet;

public class Person implements Comparable {

public int age; public int compareTo(Object obj) {

Person p = ( Person )obj;

if ( this.age > p.age ) {

return 1;

} else if ( this.age < p.age ) {

return -1;

} else {

return 0;

}

}

public static void main( String [] args ) {

Person p1 = new Person();

p1.age = 1;

Person p2 = new Person();

p2.age = 2;

Person p3 = new Person();

p3.age = 3;

Set s = new TreeSet();

s.add( p1 );

s.add( p2 );

s.add( p3 );

int len = s.size();

for(Iterator it=s.iterator();it.hasNext();)

{

Person a=(Person)it.next();

System.out.println(a.age);

}

}

}

• 2、额外写一个排序类,该类实现Comparator接口,并且在compare中实现排序

import parator;

import java.util.Iterator;

import java.util.Set;

import java.util.TreeSet;

public class Person implements Comparable {

public int age;

public int compareTo(Object obj) {

Person p = ( Person )obj;

if ( this.age > p.age ) {

return 1;

} else if ( this.age < p.age ) {

return -1;

} else {

return 0;

}

}

public class PersonComparator implements Comparator{

//比较方法

public int compare(Object o1, Object o2) {

Person p1 = ( Person )o1;

Person p2 = ( Person )o2;

return p1.age – p2.age;

}

}

public static void main( String [] args ) {

Person p1 = new Person();

p1.age = 1;

Person p2 = new Person();

p2.age = 2;

Person p3 = new Person();

p3.age = 3;

Set s = new TreeSet(new PersonComparator() );

s.add( p1 );

s.add( p2 );

s.add( p3 );

int len = s.size();

Iterator itr = s.iterator();

while ( true ) {

boolean b = itr.hasNext();

if ( false == b ) {

break;