java集合框架的总结

java集合框架的总结

学习集合应该分成两部分:Collection接口和Map接口

1.这里我先从Collection接口说起:

(1)Collection接口子类很多,但是我们只要掌握两个接口:List和Set

        这里先介绍Collection的方法,查看API都可以查到:
       【1】增加。
         这个bollean只是接收是否把对象添加到集合里面去了,添加进去返回ture,没有则false,在编程中很少去接收
              <1>  boolean add(Object obj):          向列表的尾部添加指定的元素
public class Dome1_Collection_add 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		System.out.println(list);
	}
}
结果:[a, b, c, d]
             <2>   boolean addAll(Collection coll):      添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序
public class Dome1_Collection_addAll 
{
	public static void main(String[] args) 
	{
		ArrayListlist1=new ArrayList<>();
		list1.add("a1");
		list1.add("b1");
		list1.add("c1");
		list1.add("d1");
		
		ArrayListlist2=new ArrayList<>();
		list2.add("a2");
		list2.add("b2");
		list2.add("c2");
		list2.add("d2");
		
		list1.addAll(list2);
		System.out.println(list1);
	}
}
结果:[a1, b1, c1, d1, a2, b2, c2, d2]
       【2】删除。
              <1>boolean remove(Object obj):      从此列表中移除第一次出现的指定元素
public class Demo1_Collection_remove 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		System.out.println(list);
		list.remove("a");
		
		System.out.println(list);
	}
}
结果:[a, b, c, d]
     [b, c, d]
            <2>boolean removeAll(Collection coll):     从列表中移除指定 collection 中包含的其所有元素
public class Dome1_Collection_removeAll 
{
	public static void main(String[] args) 
	{
		ArrayListlist1=new ArrayList<>();
		list1.add("a");
		list1.add("b");
		list1.add("c");
		list1.add("d");
		
		ArrayListlist2=new ArrayList<>();
		list2.add("b");
		list2.add("c");
		list2.add("e");
		list2.add("v");
		
		list1.removeAll(list2);
		System.out.println(list1);
	}
}
结果:[a, d]
           <3>void clear();     从列表中移除所有元素
public class Demo1_Collection_clear 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		System.out.println(list);
		
		list.clear();
		System.out.println(list);
	}
}
结果:[a, b, c, d]
     []
    【3】判断:
          <1>boolean contains(Object obj):        如果列表包含指定的元素,则返回 true
public class Demo1_Collectin_contains 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		boolean b=list.contains("a");
		System.out.println(b);
	}
}
结果:true
        <2>boolean containsAll(Object abj):    如果列表包含指定 collection 的所有元素,则返回 true
public class Demo1_Collection_containAll 
{
	public static void main(String[] args) 
	{
			ArrayListlist1=new ArrayList<>();
			list1.add("a");
			list1.add("b");
			list1.add("c");
			list1.add("d");
			
			ArrayListlist2=new ArrayList<>();
			list2.add("b");
			list2.add("c");
			list2.add("e");
			list2.add("v");
			
			ArrayListlist3=new ArrayList<>();
			list3.add("b");
			list3.add("c");
			
			boolean b1=list1.containsAll(list2);
			boolean b2=list1.containsAll(list3);
			System.out.println(b1+"..."+b2);
	}
}
结果:false...true
        <3>boolean isEmpty();      如果列表不包含元素,则返回 true
public class Dome1_Collection_isEmpty 
{
	public static void main(String[] args) 
	{
		ArrayListlist1=new ArrayList<>();
		list1.add("a");
		list1.add("b");
		list1.add("c");
		list1.add("d");
		boolean b1=list1.isEmpty();
		
		ArrayListlist2=new ArrayList<>();
		boolean b2=list2.isEmpty();
		
		System.out.println(b1+"..."+b2);
	}
}
结果:false...true
       【4】获取。
             <1>int size():       返回列表中的元素数。这个也可以判断集合是否为空。
public class Dome1_Collection_size 
{
	public static void main(String[] args) 
	{
		ArrayListlist1=new ArrayList<>();
		list1.add("a");
		list1.add("b");
		list1.add("c");
		list1.add("d");
		int b1=list1.size();
		
		ArrayListlist2=new ArrayList<>();
		int b2=list2.size();
		
		System.out.println(b1+"..."+b2);
	}
}
结果:4...0
          <2>Interator iterator():        返回按适当顺序在列表的元素上进行迭代的迭代器。
public class Demo1_Collection_Iterator 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		Iteratorit=list.iterator();
		while(it.hasNext())
		{
			System.out.print(it.next()+"  ");
		}
	}
}
当然也可以这样写:
public class Demo1_Collection_Iterator 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		for(Iteratorit=list.iterator();it.hasNext();)
		{
			System.out.print(it.next()+"  ");
		}
	}
}
结果:a  b  c  d 
        【5】其他。
              <1>boolean retainAll(Collection coll):      仅在列表中保留指定 collection 中所包含的元素。这地方有一点是返回值是遵守当集合改变时会返回true,否则都是false。
public class Demo1_Collection_retainAll 
{
	public static void main(String[] args) 
	{
		ArrayListlist1=new ArrayList<>();
		list1.add("a");
		list1.add("b");
		list1.add("c");
		list1.add("d");
		
		ArrayListlist2=new ArrayList<>();
		list2.add("b");
		list2.add("c");
		list2.add("e");
		list2.add("v");
		
		ArrayListlist3=new ArrayList<>();
		list3.add("a");
		list3.add("b");
		list3.add("c");
		list3.add("d");
		boolean b1=list1.retainAll(list3);
		System.out.println(list1);
		boolean b2=list1.retainAll(list2);
		System.out.println(list1);
		System.out.println(b1+"..."+b2);
	}
}
结果:[a, b, c, d]
     [b, c]
     false...true
          <2>Object[ ]   toArray():       返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。
public class Demo1_Collection_toArray 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		Object[] arr=list.toArray();
		for (int i = 0; i < arr.length; i++) 
		{
			System.out.print(arr[i]+"  ");
		}
	}
}
也可以转成String类型
public class Demo1_Collection_toArray 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		String[] arr=list.toArray(new String[0]);
		for (int i = 0; i < arr.length; i++) 
		{
			System.out.print(arr[i]+"  ");
		}
	}
}

 
   
结果:a  b  c  d 

 
   
 
   
 
  

2.List是Collection的一个子接口:
    List中我们这边介绍了三个实现类,分别是ArrayList、LinkedList、Vector,这三个实现类都包含了可以调用Clloction的所有方法,并且他们自己还有自己的方法。
【1】ArrayList:是由大小可变的数组实现的,线程不安全,查找修改快,增删慢,有序有索引,可以重复。

[1] void  add(int index, E element) :在列表的指定位置插入指定元素.

public class Dome1_Collection_add 
{
	public static void main(String[] args) 
	{
		ArrayListlist=new ArrayList<>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		System.out.println(list);
		
		list.add(1, "f");
		System.out.println(list);
	}
}
结果:[a, b, c, d]
      [a, f, b, c, d]
[2] boolean  addAll(Collection c):   将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。
public class Dome1_Collection_addAll 
{
	public static void main(String[] args) 
	{
		ArrayListlist1=new ArrayList<>();
		list1.add("a1");
		list1.add("b1");
		list1.add("c1");
		list1.add("d1");
		
		ArrayListlist2=new ArrayList<>();
		list2.add("a2");
		list2.add("b2");
		list2.add("c2");
		list2.add("d2");
		
		list1.addAll(1, list2);
		System.out.println(list1);
	}
}
结果:[a1, a2, b2, c2, d2, b1, c1, d1]

[3] E get(int index):   返回列表中指定位置的元素。

[4] ListIterator  listerator():  返回此列表元素的列表迭代器(按适当顺序)。这个迭代器里面可以增加对象,减少对象,修改对象,只能List使用。


[5]E set(int index, E element) :   用指定元素替换列表中指定位置的元素(可选操作)。


[6] List  subList(int fromIndex, int toIndex) :返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。

【2】LinkedList是由链接列表实现的,线程不安全,增删快,查找修改慢,有序有索引可以重复。

[1]







你可能感兴趣的:(java集合框架的总结)