1.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**数组转换为集合
* 使用Arrays.asList()的静态方法可以转换为一个List集合
* 数组职能转换为List集合
* @author wwq
*
*/
public class ArrayToListDemo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String[] array={"one","two","three","four"};
/*
* 将给定的数组转换为list集合
*/
List<String> list=Arrays.asList(array);
System.out.println(list.size());
System.out.println(list);
list.set(1,"2");
for(String str:array)
System.out.println(str);
System.out.println(list);
/*所有的集合都都支持一个含有Collection类型作为参数的构造方法
* 该构造方法又称为 复制型构造器
* 可以在创建当前集合的同时包含给定集合中所有元素。
*
*/
List<String> list1=new ArrayList<String>(list);
/*
* 对于数组转换而来的集合 不可以参加新的新元素
*/
System.out.println("list:"+list);
list1.add("five");
System.out.println("list1:"+list1);
}
}
2.
import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ArrayBlockingQueue;
/*删除元素 成功删除返回true;
* boolean remove(E e)
*
*
*/
public class CollectionDemo1 {
public static void main(String[] args) {
Collection c=new ArrayList();
c.add(new Point(1,2));
c.add(new Point(3,4));
c.add(new Point(1,2));
Point p=new Point(1,2);
/*
* remove 方法删除元素也是依靠元素自身equal比较 的结果
* remove会将给定元素一次与集合中的每一个元素进行比较
* 然后删除第一个与元素equals比较为 true的元素后停止删除
*/
c.remove(p);
System.out.println(c);
}
}
3.
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
/*
* 集合操作
*/
public class CollectionDemo2 {
public static void main(String[] args) {
Collection c1=new HashSet();
c1.add("java");
c1.add("php");
c1.add(".net");
/*boolean addAll(Collection c)
* 将给定集合的所有元素添加到当前集合中
* 当添加后的当前元素发生了改变则返回TRUE;
* boolean containAll(Collection c)
* 判断当前集合包含给定所有元素
*/
Collection c3=new ArrayList();
c3.add("java");
c3.add("c++");
c3.add("c#");
c1.addAll(c3);
boolean td1=c1.containsAll(c3);
System.out.println(c1);
System.out.println(td1);
/*
* boolean removeAll(Collection c)
* 删除当前集合中与给定集合相同的元素
* 删除后当前元素发生了变化则返回true
*/
}
}
4
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo8 {
public static void main(String[] args) {
/* 泛型最常用的集合
* 泛型用来约束集合中的元素类型
* 遍历集合元素
* Iterator iterator()
* 集合提供了该方法用来获取一个可以获取当前集合元素的迭代器
* Iterator是一个接口,定义了遍历集合的相关方法。不同的集合有不同的实现类
* 使用迭代器:
* 问 取 删:
* 其中删除不是必须操作
*/
Collection<String> c=new ArrayList<String>();
c.add("one");
c.add("two");
c.add("three");
System.out.println(c);
Iterator<String> it=c.iterator();
while(it.hasNext())
{
String str=it.next();
System.out.println(str);
}
}
}
5
/*
* 泛型
* 泛型是 JDK1.5之后推出的一个新的特性
* 泛型又叫做参数化类型,是将一个类的属性 方法的参数 方法的返回值的类型的定义交给了使用者
* 使用方的实例化当前类是传入泛型的实际使用类型
* 泛型的原型是Object只是编译器在对泛型进行了相关的操作 会检查传入的实参类型是否与泛型类型
* 一致
* 返回一个泛型是会自动进行类型转换而已。
*
*
*/
public class Point<T> {
public Point(T x, T y) {
super();
this.x = x;
this.y = y;
}
private T x;
private T y;
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public T getY() {
return y;
}
public void setY(T y) {
this.y = y;
}
public String toString(){
return "("+x+","+y+")";
}
}
/*
* 泛型
*/
public class TextPoint2 {
public static void main(String[] args) {
Point<Integer> p1=new Point<Integer>(1,2);
p1.setX(2);
int x1=p1.getX();
System.out.println(x1);
System.out.println(p1);
Point p2=p1;
p2.setX("二");
String x2=(String)p2.getX();
System.out.println(x2);
System.out.println(p2);
}
}