描述对应类的作用、找出类的重要方法,带有必要的文字说明和部分代码演示
//添加方法:
add(Object o) //添加指定元素
addAll(Collection c) //添加指定集合
//删除方法:
remove(Object o) //删除指定元素
removeAll(Collection c) //输出两个集合的交集
retainAll(Collection c) //保留两个集合的交集
clear() //清空集合
//查询方法:
size() //集合中的有效元素个数
toArray() //将集合中的元素转换成Object类型数组
//判断方法:
isEmpty() //判断是否为空
equals(Object o) //判断是否与指定元素相同
contains(Object o) //判断是否包含指定元素
containsAll(Collection c) //判断是否包含指定集合
String[] ss = new String[10]; // 可以持有10个String对象
ss[0] = "Hello"; // 可以放入String对象
String first = ss[0]; // 可以获取String对象
1、简介
2、主要的方法
将元素添加进Set< E>: add(E e)
将元素从Set< E>删除: remove(Object e)
判断是否包含元素: contains(Object e)
import java.util.*;
public class N1 {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
System.out.println(set.add("abc")); // true
System.out.println(set.add("xyz")); // true
System.out.println(set.add("xyz")); // false,添加失败,因为元素已存在
System.out.println(set.contains("xyz")); // true,元素存在
System.out.println(set.contains("XYZ")); // false,元素不存在
System.out.println(set.remove("hello")); // false,删除失败,因为元素不存在
System.out.println(set.size()); // 2,一共两个元素
}
}
/*
输出结果
true
true
false
true
false
false
2
*/
3、HashSet
import java.util.*;
public class Test{
public static void main(String[] args){
//1. 创建个可存储任意类型的HashSet集合:set1
HashSet set1 = new HashSet(); //相当于HashSet
//给set1添加一些元素
set1.add('a');
set1.add(10);
set1.add("str");
set1.add(true);
//2. 创建个只能存储String类型的HashSet集合:set2
HashSet<String> set2 = new HashSet();
//向set2中添加一些元素
set2.add("hello");
set2.add("nice");
//3. 创建个TreeSet集合:set3
TreeSet set3 = new TreeSet();
//向set3中添加一些元素
set3.add(1); //确定了只能添加整型类型元素
set3.add(2);
}
}
public class HashSetTest {
public static void main(String[] agrs){
//创建HashSet集合:
Set<String> hashSet = new HashSet<String>();
System.out.println("HashSet初始容量大小:"+hashSet.size());
//元素添加:
hashSet.add("my");
hashSet.add("name");
hashSet.add("is");
hashSet.add("jiaboyan");
hashSet.add(",");
hashSet.add("hello");
hashSet.add("world");
hashSet.add("!");
System.out.println("HashSet容量大小:"+hashSet.size());
//迭代器遍历:
Iterator<String> iterator = hashSet.iterator();
while (iterator.hasNext()){
String str = iterator.next();
System.out.println(str);
}
//增强for循环
for(String str:hashSet){
if("jiaboyan".equals(str)){
System.out.println("你就是我想要的元素:"+str);
}
System.out.println(str);
}
//元素删除:
hashSet.remove("jiaboyan");
System.out.println("HashSet元素大小:" + hashSet.size());
hashSet.clear();
System.out.println("HashSet元素大小:" + hashSet.size());
//集合判断:
boolean isEmpty = hashSet.isEmpty();
System.out.println("HashSet是否为空:" + isEmpty);
boolean isContains = hashSet.contains("hello");
System.out.println("HashSet是否为空:" + isContains);
}
}
1、简介
2、主要方法
List list=new ArrayList();
list.add("test");
System.out.println(list);
/*
运行结果,[test]
*/
List list=new ArrayList();
list.add("test");
list.set(0,"hi");
System.out.println(list);
/*
运行结果:[hi]
3、ArrayList、LinkedList、Vector
1、简介
Map<String, Integer> map = new HashMap<>();
map.put("apple", 123);
map.put("pear", 123); // ok
2、主要方法
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 123);
map.put("pear", 456);
System.out.println(map.get("apple")); // 123
map.put("apple", 789); // 再次放入apple作为key,但value变为789
System.out.println(map.get("apple")); // 789
}
}
1、 getClass 方法:
public final native Class<?> getClass();
public class TestStudent {
public static void main(String[] args) {
Student s1 = new Student("lisa",20);
Student s2 = new Student("kirot", 21);
//判断s1和s2是不是同个类型:getClass();
Class class1 = s1.getClass();
Class class2 = s2.getClass();
System.out.println(class1 == class2 ? "s1和s2属于同个类型" : "s1和s2不属于同个类型");
}
}
/*
运行结果:s1和s2属于同个类型
*/
final 方法、获取对象的运行时 class 对象,class 对象就是描述对象所属类的对象。这个方法通常是和 Java 反射机制搭配使用的。
2、hashCode 方法:
public native int hashCode();
public class TestStudent {
public static void main(String[] args) {
Student s1 = new Student("lisa",20);
Student s2 = new Student("kirot", 21);
//返回s1和s2的哈希码值,不同对象返回的哈希码不一样
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
Student s3 = s1;
//s1地址赋给了s3,所以它们的哈希码值是一样的
System.out.println(s3.hashCode());
}
}
/*
运行结果:
2129789493
668386784
2129789493
*/
3、equals 方法:
public boolean equals(Object obj) { return (this == obj);}
4、clone 方法:
protected native Object clone() throws CloneNotSupportedException;
5、 toString 方法:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
public class TestStudent {
public static void main(String[] args) {
Student s1 = new Student("lisa",20);
Student s2 = new Student("kirot", 21);
//返回对象字符串表示形式:类的名字 + @ + 十六进制的哈希码值
System.out.println(s1.toString());
System.out.println(s2.toString());
}
}
/*
运行结果:Student@7ef20235
Student@27d6c5e0
*/
//还可以通过在类中重写 toString() 方法,返回自己自定义的字符串
6、 notify 方法
public final native void notify();
//final 方法,主要用于唤醒在该对象上等待的某个线程
7、 notifyAll 方法
8、 wait(long timeout) 方法
String str = "Hello Bit";// 方式一
String str2 = new String("Hello Bit");// 方式二
char[] array = { 'a', 'b', 'c'};String str3 = new String(array);// 方式三
(1)字符与字符串的转换
char[] val = { 'a','b','c'};
String str = new String(val);
System.out.println(str);
char[] val = { 'a','b','c','d','e'};
String str1 = new String(val,0,3);
System.out.println(str1);//打印结果为abc
String str2 = new String(val,1,3);
System.out.println(str2);//打印结果为bcd
String str = "abc";
System.out.println(str.charAt(1));//打印结果为b
String str = "abc";
char[] val = str.toCharArray();
System.out.println(Arrays.toString(val));//打印结果:[a, b, c]
(2)、字节与字符串的转换
byte[] bytes = { 97,98,99,100};
String str1 = new String(bytes,0,3);
System.out.println(str1);//打印结果为abc
System.out.println("========");
String str2 = new String(bytes,1,3);
System.out.println(str2);打印结果为bcd
String str1 = "abc";
byte[] bytes1 = str1.getBytes();
System.out.println(Arrays.toString(bytes1));打印结果为:[97, 98, 99]//
对于字符串比较,我们不能直接用“==”,而有三种方法能够对字符串有不同的比较方式。
String str1 = "hello" ;
String str2 = "Hello" ; System.out.println(str1.equals(str2)); // false
System.out.println(str1.equalsIgnoreCase(str2);
// true
String str1 = "abc";
String str2 = "bcd";
System.out.println(str1.compareTo(str2));//运行结果为:-1
/*因为b的ASCII码值比a的ASCII码值大1,
则直接返回-1。(如果是字符不相同则返回它们的ASCII码差值)*/
String str = "abbabcacc";
boolean flg = str.contains("abc");
System.out.println(flg);//打印结果为true
String str = "abbabcacc";
int index = str.indexOf("abc");
System.out.println(index);//打印结果为3
String str = "helloworld" ;
System.out.println(str.replaceAll("l", "_"));//打印结果为he__owor_d
String str = "helloworld" ;
System.out.println(str.replaceFirst("l", "_"));
//打印结果为he_loworld
String str = "hello world hello bit" ;
String[] result = str.split(" ") ; // 按照空格拆分
for(String s: result) {
System.out.println(s);
} //打印结果为helloworldhellobit
String str = "helloworld" ;
System.out.println(str.substring(5));
System.out.println(str.substring(0, 5));//打印结果为worldhello
1、 length()
2、 equals(s1)
b1.equals(b2) //返回false
3、 compareTo(s1)
s1="abc";
s2 ="abg";
s1compareTo(s2)//返回-4
4、 substring(beginIndex)
"Welcome to Java".indexOf(‘W’)//返回 0
序号 | 方法描述 |
---|---|
1 | public StringBuilder append(String s):将指定的字符串追加到此字符序列。 |
2 | public StringBuilder reverse():将此字符序列用其反转形式取代。 |
3 | public delete(int start, int end):移除此序列的子字符串中的字符。 |
4 | public insert(int offset, int i):将 int 参数的字符串表示形式插入此序列中。 |
5 | insert(int offset, String str):将 str 参数的字符串插入此序列中。 |
6 | replace(int start, int end, String str):使用给定 String 中的字符替换此序列的子字符串中的字符。 |
1、 append(XXX xxx)
StringBuilder sb = new StringBuilder();
sb.append(8).append("乘以").append(6.6).append('=').append(true);
sb.append(new StringBuilder("!!!"));
System.out.println(sb); // 输出结果为:8乘以6.6=true!!!
2、reverse()
StringBuilder sb = new StringBuilder("猪头大一来过上海");
sb.reverse();
System.out.println(sb); // 输出结果为:海上过来一大头猪
3、replace(int start, int end, String str)
StringBuilder sb = new StringBuilder("春眠不觉晓,处处闻啼鸟。");
sb.replace(8, 11, "蚊子咬");
System.out.println(sb); // 输出结果为:春眠不觉晓,处处蚊子咬。
4、 delete(int start, int end)
StringBuilder sb = new StringBuilder("爸爸的脸蛋有很多褶皱");
sb.delete(3, 4);
System.out.println(sb); // 输出结果为:爸爸的蛋有很多褶皱
5、insert(int offset, XXX xxx)
StringBuilder sb = new StringBuilder("《摔跤吧!爸爸》");
sb.insert(3, "了");
System.out.println(sb); // 输出结果为:《摔跤了吧!爸爸》
创建一个字符串缓冲区对象。用于存储数据。
StringBuffer sb = new StringBuffer();
sb.append("haha"); //添加字符串
sb.insert(2, "it");//在指定位置插入
sb.delete(1, 4);//删除
sb.replace(1, 4, "cast");//替换指定范围内的内容
String str = sb.toString();
/*String变为StringBuffer:利用StringBuffer的构造方法或append()方法。
StringBuffer变为String:调用toString()方法。
*/
注意:
1、 currentTimeMillis()
2、exit(int status)
3、 gc()
4、 getProperty(String key)
int[] a = {1,2,3,4};
int[] b = new int[5];
//参数分别是:被复制对象;从下标为0的开始;目标对象;从下标为0的开始给值;总共复制3个数
System.arraycopy(a, 0, b, 0, 3);
for (inti : b) {
System.out.print(i);
} //12300
1、 Date()
Date date1 = new Date(); // 调用无参数构造函数
System.out.println(date1.toString());
Date date2 = new Date(60000); // 调用含有一个long类型参数的构造函数
System.out.println(date2); // 输出
1、 boolean after(Date when)