目录
- Collection
- List
- Set
- HashSet
- TreeSet
- LinkedHashSet
- Map
-
- HashMap
- LinkedHashMap
- Hashtable
- TreeMap
- Arrays
Collection
常用方法:
- boolean add(E e)
- boolean addAll(Collection c)
- void clear() 清除集合里的所有元素,将集合长度变为0
- boolean contains(E e)
- boolean containsAll(Collection c)
- boolean isEmpty()
- Iterator iterator() 返回一个Iterator对象用于遍历集合
- boolean remove(E e)
- boolean removeAll(Collection)
- boolean retainAll(Collection c) 从集合中删除集合c里不包含的元素。
- int size()
- Object toArray() 将集合转换为数组
import java.util.*; class CollectionDemo { public static void main(String[] args) { ArrayList tree= new ArrayList(); tree.add("杨树"); tree.add("桃树"); tree.add("柳树"); tree.add("梨树"); ArrayList fruiter =new ArrayList(); fruiter.add("桃树"); fruiter.add("葡萄树"); fruiter.add("梨树"); fruiter.add("杏树"); tree.retainAll(fruiter); System.out.println(tree); } } //运行结果 [桃树, 梨树]
Iterator
常用方法
- boolean hasNext()
- Object next() 返回集合里的下一个元素
- void remove()返回集合里next()上一次返回的元素
import java.util.*; class CollectionDemo { public static void main(String[] args) { ArrayList tree= new ArrayList(); tree.add("杨树"); tree.add("桃树"); tree.add("柳树"); tree.add("梨树"); Iterator it=tree.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } } /* 杨树 桃树 柳树 梨树 */
List
常用方法
- void add(int index,E element)
- boolean addAll(int index,Collection c)
- E get(int index) 返回index索引的元素
- int indexOf(Object o)返回元素o第一次出现的索引
- int lastIndexOf(Object o)
- Object remove(int index)删除并返回index索引处的元素
- E set(int index,E element)将索引index的元素替换为element并返回新元素。
- List subList(int fromIndex,int toIndex)包含头不包含尾
ListIterator
ListIterator接口
ListIterator是接口Iterator子接口
方法摘要
- boolean hasPrevious() 返回该迭代器关联的集合是否还有上一个元素
- E previous返回列表的前一个元素
- void add(E e)将指定元素插入列表
- void remove()
import java.util.*; class CollectionDemo { public static void main(String[] args) { ArrayList tree= new ArrayList(); tree.add("杨树"); tree.add("桃树"); tree.add("柳树"); tree.add("梨树"); ListIterator li=tree.listIterator(); while (li.hasNext()) { System.out.println(li.next()); } while (li.hasPrevious()) { System.out.println(li.previous()); } } }
ArrayList
LinkedList
LinkedList特有方法
- addFirst()
- addLast()
- getFirst()
- getLast()
- removeFirst()
- removeLast()获取元素并且删除元素如果集合中没有元素,会出现NoSuchElementException异常
- offerFirst()
- offerLast()
- peekFirst()
- peekLast()
- pollFirst()
- pollLast()获取元素并且删除元素如果没有元素则返回null
import java.util.LinkedList; public class QueueDemo { public static void main(String[] args){ Queue q =new Queue(); for(int x=0;x<4;x++){ q.myAdd("abcd"+x); } while(!q.isNull()){ System.out.println(q.get()); } } } class Queue{ private LinkedList<String> link =new LinkedList<String>(); public void myAdd(Object obj){ link.addFirst((String) obj); } public Object get(){ return link.removeLast(); } public boolean isNull(){ return link.isEmpty(); } }
Stack
Vector
Vector:底层是数组数据结构。线程同步,被ArrayList替代。可变数组100%延长。
Vector通过枚举实现遍历
import java.util.Enumeration; import java.util.Vector; public class VectorDemo { public static void main(String[] args){ Vector<String> v =new Vector<String>(); v.add("abc"); v.add("def"); v.add("gh"); Enumeration<String> e =v.elements(); while(e.hasMoreElements()){ System.out.println(e.nextElement()); } } }
Properties
Properties表示了一个持久的属性集。
常用方法:
- Object setProperty(String key,String value)
- String getProperty(String key) 根据键值获取值
- Set<String> stringPropertyNames() 返回属性列表的键值集
- void list(PrintStream out)将属性列表输出到指定的输出流中
- void list(PrintWriter out)将属性列表输出到指定的输出流中
- void load(InputStream isStream)从输入流中读取属性列表
- void load(Reader reader)从输入字符流中读取属性列表
- void store(OutputStream out,String coments)
- void store(Writer writer,String comments)
Arrays
1.asList方法 :可以将数组转换为List集合。注:转换为List集合不能使用List的增删方法。
如果数组中的元素都是对象,那么变成集合时。数组中的元素就直接转换成集合
如果数组中的元素都是基本数据类型 那么会将该数组作为集合中的元素存在
import java.util.Arrays; import java.util.List; public class ArraysDemo { public static void main(String[] args){ String[] arr ={"abc","cc","kkkk"}; List<String> li =Arrays.asList(arr); System.out.println(li);//[abc, cc, kkkk] int[] arr2 ={2,3,5}; List li2 =Arrays.asList(arr2); System.out.println(li2);//[[I@6bade9] System.out.println(li.contains("abc"));//true } }
2.sort方法 可以对基本数据类型的数组或者数组的一部分进行排序 也可以对对象进行自然排序
示例:已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; public class Test2 { public static void main(String[] args){ FileReader fr =null; FileWriter fw =null; try{ fr =new FileReader("a.txt"); fw =new FileWriter("b.txt"); char[] buf =new char[1024]; int i =0; while((i=fr.read(buf))!=-1){ Arrays.sort(buf,0,i); fw.write(buf); } }catch(IOException e){ e.printStackTrace(); }finally{ try{ if(fr!=null) fr.close(); }catch(IOException e){ e.printStackTrace(); }try{ if(fw!=null) fw.close(); }catch(IOException e){ e.printStackTrace(); } } } }
3.toString()方法 数组的字符串表现形式