java快速入手文档基础总结资料Word格式.docx
《java快速入手文档基础总结资料Word格式.docx》由会员分享,可在线阅读,更多相关《java快速入手文档基础总结资料Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
![java快速入手文档基础总结资料Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/1/7b02f37d-1c17-4644-852d-d27f4a071b05/7b02f37d-1c17-4644-852d-d27f4a071b051.gif)
mylist.add("
hello"
);
mylist.add(0,"
MLDN"
//在位置0插入元素
/***************删除元素******************/
mylist.remove(0);
//两种删除方式
mylist.remove("
world"
//此处为string,若为匿名对象,可能无法删除。
/***************输出元素1******************/
for(inti=0;
i<
mylist.size();
i++)
{
System.out.println(mylist.get(i));
}
或System.out.println(mylist);
3.1.2Linklist简单操作
LinkedList<
link=newLinkedList<
/***************添加数据***********************/
link.add("
A"
//System.out.println(link);
link.addFirst("
FIRST"
link.addLast("
LAST"
System.out.println("
链表头:
"
+link.getFirst());
+link.getLast());
/***************读取数据***********************/
for(inti=0;
link.size();
System.out.println(link.element());
3.1.3VectorandEnumeration
Vector<
vec=newVector<
vec.add("
a"
b"
c"
Enumeration<
enume=vec.elements();
while(enume.hasMoreElements())
System.out.print(enume.nextElement()+"
、"
HashMap
Map<
String,Integer>
map=newHashtable<
/*
*Hashtable和HashMap的区别:
*HashMapJDK1.0时推出,同步,性能低,线程安全
**/
map.put("
zhangsan"
1);
2);
lisi"
3);
wangwu"
4);
Integervalue=map.get("
//根据key取value
/**************集合返回所有的key***************/
Set<
set=map.keySet();
/**************取所有value***************/
Collection<
Integer>
col=map.values();
Iterator<
itervalue=col.iterator();
/**************取所有的键值对***********/
keyiter=set.iterator();
while(keyiter.hasNext())
Stringkey=keyiter.next();
System.out.println(key+"
-->
+map.get(key));
3.2Set不允许重复的子接口
3.2.1HashSet(散列存放的子类)
Set<
set=newHashSet<
set.add("
B"
C"
//可放入重复元素,但是不重复存储和显示
System.out.println(set);
3.2.2TreeSet(排序存放的子类)
Set<
set=newTreeSet<
//有序的集合
3.3集合输出
遍历的方式有如下四种,它们的使用率是不一样的:
Iterator--95%
ListIterator--1%
Enumeration--4%
foreach--0%
3.3.1Iterator(迭代输出)
allList=newArrayList<
allList.add("
iter=allList.iterator();
while(iter.hasNext())
{
Stringstr=iter.next();
//取当前元素,指针下移。
if("
.equals(str))
{
//iter.remove();
//正确,但是很少使用
allList.remove(str);
//错误,不能直接用集合中的remove方法。
}
}
3.3.2ListIterator(双向迭代输出)
List<
ListIterator<
iter=allList.listIterator();
从前向后输出:
System.out.print(iter.next()+"
从后向前输出:
while(iter.hasPrevious()){
System.out.print(iter.previous()+"
3.3.3Foreach(新的支持)
1.
all
=
new
ArrayList<
2.
all.add("
3.
4.
for
(String
str
:
all)
{
5.
System.out.println(str);
6.
}
3.4Map接口
3.4.1HashMap
/*
*Map的输出:
*1.Set<
Map.Entry<
K,V>
>
entrySet()获取Set集合
*2.通过Set为Iterator进行初始化
*3.通过Iterator取出每一个MapEntry
*4.通过Map.Entry进行key与value的分离
Map<
map=newHashMap<
Integera=map.get("
/*******遍历方法1********************/
set=map.entrySet();
iter=set.iterator();
Map.Entry<
String,Integer>
me=iter.next();
System.out.println(me.getKey()+"
+me.getValue());
/**********方法2************************/
for(Map.Entry<
me:
map.entrySet()){
/******keyset*******/
ss=map.keySet();
Iterator<
it=ss.iterator();
while(it.hasNext()){
Stringkey=it.next();
System.out.println(key+"
|-->
"
+map.get(key));
}
3.4.2TreeMap(有序的存放)
/*treemap可以进行排序*/
map=newTreeMap<
2);
while(iter.hasNext()){
Stringkey=iter.next();
3.4.3Hashtable
String,
Hashtable<
all.put("
BJ"
BeiJing"
NJ"
NanJing"
set
all.entrySet();
Iterator<
iter
set.iterator();
while
(iter.hasNext())
7.
me
iter.next();
8.
System.out.println(me.getKey()
+
me.getValue());
9.
3.5Stack类
Stack<
s
s.push("
System.out.println(s.pop());
3.6其他
3.6.1collections
List<
();
Collections.addAll(allList,"
e.hello"
"
d.hello"
Collections.sort(allList);
3.6.2compareTo
classPersonTestimplementsComparable<
PersonTest>
{
privateStringname;
privateintage;
publicPersonTest(Stringname,intage){
this.name=name;
this.age=age;
publicStringtoString(){
return"
姓名:
+this.name+"
,年龄:
+this.age;
@Override
publicintcompareTo(PersonTesto){
if(this.age<
o.age){
return1;
}elseif(this.age>
return-1;
}else{
returnpareTo(o.name);
publicclassComparableTest{
publicstaticvoidmain(String[]args){
all=newTreeSet<
PersonTesta=newPersonTest("
张三"
20);
PersonTestb=newPersonTest("
30);
PersonTestc=newPersonTest("
40);
all.add(a);
all.add(b);
all.add(c);
System.out.println(all);
System.out.println(pareTo(b));
4正则表达式
4.1正则表达式语法
正则表达式符号:
句点符号(.):
匹配所有字符,如t.n
方括号([]):
定义匹配集合,单字符匹配,如t[aeio]n
或符号(|):
或运算,如t(a|e|i|o|oo)n
$:
匹配行结束符。
^匹配一行的开始。
/转义符,用来将元字符当作普通的字符来进行匹配。
^“^”符号称为“否”符号。
常用的限定符
代码/语法说明
*重复零次或更多次
+重复一次或更多次
?
重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
常用的元字符:
代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束
常用的反义代码
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符
4.2常用正则表达式
1[正则表达式]文本框输入内容控制
2整数或者小数:
^[0-9]+\.{0,1}[0-9]{0,2}$
3只能输入数字:
^[0-9]*$"
。
4只能输入n位的数字:
^\d{n}$"
5只能输入至少n位的数字:
^\d{n,}$"
6只能输入m~n位的数字:
^\d{m,n}$"
7只能输入零和非零开头的数字:
^(0|[1-9][0-9]*)$"
8只能输入有两位小数的正实数:
^[0-9]+(.[0-9]{2})?
$"
9只能输入有1~3位小数的正实数:
^[0-9]+(.[0-9]{1,3})?
10只能输入非零的正整数:
^\+?
[1-9][0-9]*$"
11只能输入非零的负整数:
^\-[1-9][]0-9"
*$。
12只能输入长度为3的字符:
^.{3}$"
13只能输入由26个英文字母组成的字符串:
^[A-Za-z]+$"
14只能输入由26个大写英文字母组成的字符串:
^[A-Z]+$"
15只能输入由26个小写英文字母组成的字符串:
^[a-z]+$"
16只能输入由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$"
17只能输入由数字、26个英文字母或者下划线组成的字符串:
^\w+$"
18验证用户密码:
^[a-zA-Z]\w{5,17}$"
正确格式为:
以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
19验证是否含有^%&
'
;
=?
$\"
等字符:
[^%&
$\x22]+"
20只能输入汉字:
^[\u4e00-\u9fa5]{0,}$"
21验证Email地址:
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
22验证InternetURL:
^http:
//([\w-]+\.)+[\w-]+(/[\w-./?
%&
=]*)?
23验证电话号码:
^(\(\d{3,4}-)|\d{3.4}-)?
\d{7,8}$"
XXX-XXXXXXX"
XXXX-XXXXXXXX"
XXX-XXXXXXXX"
XXXXXXX"
和"
XXXXXXXX"
24验证身份证号(15位或18位数字):
^\d{15}|\d{18}$"
25验证一年的12个月:
^(0?
[1-9]|1[0-2])$"
01"
~"
09"
1"
12"
26验证一个月的31天:
^((0?
[1-9])|((1|2)[0-9])|30|31)$"
正确格式为;
31"
27匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
28匹配双字节字符(包括汉字在内):
[^\x00-\xff]
29应用:
计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
30String.prototype.len=function(){returnthis.replace(/[^\x00-\xff]/g,"
aa"
).length;
}
31匹配空行的正则表达式:
\n[\s|]*\r
32匹配html标签的正则表达式:
<
(.*)>
(.*)<
\/(.*)>
|<
(.*)\/>
33匹配首尾空格的正则表达式:
(^\s*)|(\s*$)
4.3详解Pattern类和Matcher类
Patternp=Ppile("
\\w+"
p.pattern();
//返回\w+
4.3.1Pattern.split(CharSequenceinput)
\\d+"
String[]str=p.split("
我的QQ是:
456456我的电话是:
0532214我的邮箱是:
aaa@"
结果:
str[0]="
str[1]="
我的电话是:
str[2]="
我的邮箱是:
4.3.2Pattern.matches
是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串.
Java代码示例:
Pattern.matches("
2223"
//返回true
Pattern.matcher(CharSequenceinput)
pattern=Ppile("
b*g"
Matchermatcher=pattern.matcher("
bbg"
System.out.println(matcher.matches());
4.3.3Matcher.matches()/Matcher.lookingAt()/Matcher.find()
matches()对整个字