赞
踩
Collection 集合
Collection:是所有集合的根接口,
List集合:有序、可重复的元素;
Set:无序、不可重复的元素;
Collection集合的功能:
添加:
boolean add(E--Object(任意类型元素) e)
判断:
boolean contains(Object o):是否包含指定的元素
boolean equals(Object o):比较
boolean isEmpty():判断集合是否为空
删除:
void clear():删除所有元素
boolean remove(Object o):删除集合中指定的元素
获取功能:
int size() 获取集合元素数
Iterator<E> iterator() :迭代器
Object[] toArray():传统 方式集合转换成对象数组,遍历
public class CollectionDemo { public static void main(String[] args) { Collection c = new ArrayList();
集合的高级功能
boolean addAll(Collection c)添加一个集合中的所有元素
boolean containsAll(Collection c):包括一个集合中元素
boolean removeAll(Collection c):删除集合中的包含的元素
boolean retainAll(Collection c):获取两个集合中交集元素,
class Test{ public static void main(String[] args) { Collection<Star> s=new ArrayList<>(); Star s1=new Star("刘德华",55); Star s2=new Star("郭德纲",56); Star s3=new Star("赵德全",57); s.add(s1); s.add(s2); s.add(s3); Object[] ob=s.toArray(); for(int x=0;x<ob.length;x++){ Star star=(Star)ob[x]; System.out.println(star.getName()+"--"+star.getAge()); } Iterator<Star> it =s.iterator(); while(it.hasNext()){ Star st=it.next(); System.out.println(st.getName() +"--"+st.getAge()); } for(Star ss:s) { System.out.println(s); } } }
List集合---是Collection的子接口
List集合的特有的遍历方式: E(指定类型) get(int index):获取指定位置处的元素的+size()获取集合的元素数的
列表迭代器
ListIterator<E> listIterator()
ListIterator接口
正向遍历
boolean hasNext():判断是有更多下一个元素可以迭代(遍历)
E next()获取下一个可以遍历元素
反向遍历
boolean hasPrevious():判断是否有更多的上一个元素可以迭代(遍历)
E previous():获取上一个上一个可以遍历的元素
public class ListDemo3 { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("hello"); list.add("world"); list.add("hello"); list.add("java"); for (int x = 0; x < list.size() - 1; x++) { String s = list.get(x); System.out.println(s); } for (String s : list) { System.out.println(s); } ListIterator<String> lit = list.listIterator(); while (lit.hasNext()) { String s = lit.next(); System.out.println(s); } ListIterator<String> lits = list.listIterator(); while(lits.hasNext()){//正向遍历 String s = lits.next(); System.out.println(s); } while(lits.hasPrevious()){//反向遍历 String s = lits.previous(); System.out.println(s); } } }
List集合的去重方法
public class ListDemo2 { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("hello"); list.add("world"); list.add("hello"); list.add("java"); list.add("life"); list.add("world"); list.add("12345"); list.add("help"); list.add("12345"); for (int x = 0; x < list.size() - 1; x++) { for (int y = x + 1; y < list.size(); y++) { if (list.get(y).equals(list.get(x))) { list.remove(y); } } } for (String s : list) { System.out.println(s); } List<String> list2=new ArrayList<>(); for(String s:list){ if(!list2.contains(s)){ list2.add(s); } } for(String s:list2){ System.out.println(s); } } }
选择排列
思想:
使用0角标对应的元素依次和后面角标对应的元素进行比较,小的值往前放,第一次比较完毕,最小值就出现在最小索引处,依次这样比较,就可以得到一个排好序的数组!
public class XuanDemo { public static void main(String[] args) { int[] arr = {12, 22, 11, 33, 2, 44}; selectArray(arr); System.out.println(printArray(arr)); } public static void selectArray(int[] arr){ for (int n = 0;n<arr.length - 1; n++){ for (int m = n + 1; m<arr.length - 1; m++){ if (arr[n] > arr[m]) { int temp = arr[n]; arr[n] = arr[m]; arr[m] = temp; } } } } public static String printArray(int[] arr){ StringBuffer sb = new StringBuffer() ; sb.append("[") ; for(int x = 0 ; x < arr.length ; x++){ if(x == arr.length-1){ sb.append(arr[x]); }else{ sb.append(arr[x]).append(", ") ; } } sb.append("]") ; return sb.toString() ; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。