Java类集
在整个java类集中最长使用的接口是:Collection、List、Set、Map、Iterator、ListIterator、Enumeration、SortedSet、SortedMap、Queue、Map.Entry。
Collection接口的常用方法
Collection 接口
List接口:可以存放重复的内容,无序。
LinkedList表示的是一个链表的操作类,即java中已经为开发者提供好了一个链表程序,开发者直接使用即可,无需再重新开发。
ArrayList表示的是一个数组的操作类,即java中已经为开发者提供好了一个数组程序,开发者直接使用即可,无需再重新开发。
Set接口:不能存放重复的内容,所有的重复内容是靠hashCode()和equals()两个方法区分的。
1.散列的存放:HashSet
HashSet是Set接口的一个子类,主要的特点是:里面不能存放重复元素,而且是采用散列的存储方式,所以是没有顺序的。
2.有序的存放:TreeSet
如果想对输入的数据进行有序排列
Queue:队列接口。
SortedSet接口:可以对集合中的数据进行排序。
Map接口
HashMap:无序存放的,是新的操作类,key不允许重复。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Map <String , Object>map = new HashMap<String, Object>();
map.put("A","a");
map.put("B","b");
map.put("C","c");
map.put("D","d");
Iterator<Map.Entry<String , Object>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String , Object> entry=iterator.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}
Hashtable:无序存放的,是旧的操作类,key不允许重复。
TreeMap:可以排序的Map集合,按集合中的key排序,key不允许重复。
集合工具类Collections
实例操作一:反转集合中的内容Collections.reverse(list);
实例操作二:替换集合中的内容Collections.replaceAll(list, "B", "b")
实例操作三:集合排序Collections.sort(list);
实例操作四:交换指定下标位置的内容Collections.swap(list, 0, 2);
Java网络编程
ServerSocket类与Socket类
实例:TCP建立服务器程序
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Service {
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket socket= null;
PrintStream printStream = null;
try {
serverSocket =new ServerSocket(8888);
System.out.println("服务器启动,等待客户端连接");
socket=serverSocket.accept();
String string = "Hello World";
printStream = new PrintStream(socket.getOutputStream());
printStream.print(string);
printStream.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
Socket socket= null;
try {
socket = new Socket("localhost",8888);
System.out.println("客户端已连接,等待服务器发送信息");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str =bufferedReader.readLine();
System.out.println("服务器发送过来的内容是:"+str);
socket.close();
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}