首页 > 代码库 > java集合类编程重点
java集合类编程重点
一.数组常用操作
import java.io.*; import java.math.*; import java.util.*; public class Main { private static int []a=new int[20]; public static void print() { for(int i=0;i<20;i++) System.out.print(a[i]+" "); System.out.println(""); } public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); Arrays.fill(a,1);//给a数组赋值为1 print(); for(int i=0;i<20;i++) a[i]=i%10; print(); Arrays.sort(a);//升序 print(); //没有降序函数,可以自定义排序方式 //但是既然已经升序,从后往前看就是降序了 int index=Arrays.binarySearch(a,4);//查找值为4的下标 System.out.println(index); } }二.set集合
HashSet:没有重复的,添加进去的可以是不同类型的。
TreeSet:没有重复,添加进去的必须是同种类型的,因为会自动排序。
HashSet:
import java.io.*; import java.math.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); HashSet s=new HashSet(); s.add(2);s.add("liwei");s.add(1.23);s.add(true);//添加元素 System.out.println(s.size());//set的长度 if(s.contains("liwei")) //查找某个是否存在 System.out.println("找到"); s.remove("liwei"); Iterator i=s.iterator(); while(i.hasNext()) //迭代器进行遍历 System.out.println(i.next()); } }TreeSet:
import java.io.*; import java.math.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); TreeSet s=new TreeSet(); s.add(12);s.add(5);s.add(100);s.add(1);//添加同类型元素 System.out.println(s.size());//treeSet的长度 if(s.contains(5)) //查找某个是否存在 System.out.println("找到5"); s.remove(5); Iterator i=s.iterator(); while(i.hasNext()) //迭代器进行遍历 System.out.println(i.next()); } }
三.List(列表)常用操作
ArrayList:代替C++中的vector实现动态数组,常用方法有:add(),get(int index),remove(int index),
int indexOf(ArrayList a),int lastIndexOf(ArrayList a)。
LinkedList:代替C++中的stack和queue,常用方法:ArrayList的方法LinkedList都可以用,多加的方法有addFirst(),
addLast(),removeFirst(),removeLast(),以便实现stackt和queue的功能。
ArrayList:
import java.io.*; import java.math.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); ArrayList list=new ArrayList(); list.add(2);list.add("liwei");list.add(1.25);list.add(true); Iterator i=list.iterator(); while(i.hasNext()) System.out.println(i.next()); //int len=list.size(); //System.out.println("下标查找"); //for(int j=0;j<len;j++) 这个方法书上说的,但是编译的时候竟然提示参数为迭代器了 // System.out.println(list.get(i)); } }LinkedList:
import java.io.*; import java.math.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); LinkedList list=new LinkedList(); list.add(2);list.add("liwei");list.add(1.25);list.add(true); list.addFirst("abcd"); list.addLast(123); Iterator i=list.iterator(); while(i.hasNext()) System.out.print(i.next()+" "); System.out.println(""); System.out.println("第一个元素"+list.getFirst());//这个方法以便实现stack和queue操作 System.out.println("最后一个元素"+list.getLast()); list.removeFirst(); list.removeLast(); i=list.iterator(); while(i.hasNext()) System.out.print(i.next()+" "); } } 或者如下面定义LinkedList的类型(其他类似): public class Main { public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); LinkedList<Integer> list=new LinkedList<Integer>(); list.add(2);list.add(5);list.add(1);list.add(-5); list.addFirst(100); list.addLast(200); Iterator i=list.iterator(); while(i.hasNext()) System.out.print(i.next()+" "); System.out.println(""); System.out.println("第一个元素"+list.getFirst());//这个方法以便实现stack和queue操作 System.out.println("最后一个元素"+list.getLast()); list.removeFirst(); list.removeLast(); i=list.iterator(); while(i.hasNext()) System.out.print(i.next()+" "); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。