一.数组常用操作
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());
}
}
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());
ArrayList list2=new ArrayList();
list2.add(2);list2.add(-1);list2.add(100);list2.add(500);
Collections.sort(list2); //用Collections类实现list的排序
Iterator ii=list2.iterator();
while(ii.hasNext())
System.out.println(ii.next());
}
}
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 list=new LinkedList();
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()+" ");
}
}
HashMap:插入的类型可以不同,常用函数:添加元素put(key,value),remove(key),clear(),获得映射的内容get(key),
containsKey(key)是否存在当前key,containsValue(value)是否存在当前映射值,isEmpty(),size(),keySet()返回集合。
TreeMap:插入的类型必须相同,因为会自动排序,函数和上面相同。
HashMap:
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));
HashMap m=new HashMap();
m.put("张三",10);
m.put("李四",11);
m.put("王五",12);
if(m.containsKey("李四"))
System.out.println("找到李四");
System.out.println(m.get("李四"));
if(m.containsValue(m.get("李四")))
System.out.println("存在值"+m.get("李四"));
if(!m.isEmpty()) System.out.println("非空");
Iterator it=m.keySet().iterator();
while(it.hasNext())
{
String key=(String)it.next();
System.out.println(key+" "+m.get(key));
}
}
}
TreeMap和HashMap差不多,代码就不写了。
五.Collections类常用操作
主要是用list集合的操作,对list集合操作的主要函数要:
int binarySearch(List list,Object key);
void copy(List one,List two);
void fill(List list,Object obj);
void sort(List list);
void reverse(List list);//实现list数组的翻转
vois swap(List list,int i,int j);