栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java集合和常用类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java集合和常用类

Java集合和常用类

一、集合类 1、set

Set集合中的元素是无序的且不可重复。
HashSet底层数据结构是哈希表,因此具有很好的存取和查找性能。
哈希值:是JDK根据u第项的地址或者数字运算出来的int类的数值。
哈希表:一个元素为链表的数组,综合了链表(存储速度快)和数组(查询速度快)的优点。
Set的实现类的集合对象中不能够有重复元素,HashSet也一样他是使用了一种标识来确定元素的不重复,HashSet用一种算法来保证HashSet中的元素是不重复的, HashSet采用哈希算法,底层用数组存储数据。默认初始化容量16,加载因子0.75。

2、map map集合的特点

Map集合的特点:
1.Map是一个双列集合,一个元素包含两个值(key,value)
2.Map集合中的元素,key和value的数据类型可以相同,也可以不同
3.Map中的元素,key不允许重复,value可以重复
4.Map里的key和value是一一对应的。

map的常用实现类

1、hashmap
2、linkhashmap
3、hashtable

例子

public class Test{

public static void main(String[] args) {

Map map = new HashMap<>();

map.put(1, "A");

map.put(1, "A+");

map.put(2, "B");

map.put(3, "C");

System.out.println(map);

System.out.println(map.get(2)); //根据key取得value

System.out.println(map.get(10)); //找不到返回null

//取得Map中所有key信息

Set set = map.keySet();

Iterator iterator = set.iterator();

while(iterator.hasNext()) {

System.out.println(iterator.next());

}

}

3、List

在Collection中,List集合是有序的,可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。

list常用类:
1、ArrayList
2、LinkedList

ArrayList集合的特点:
容量不固定,随着容量的增加而动态扩容(阈值基本不会达到)
有序集合(插入的顺序==输出的顺序)
插入的元素可以为null
增删改查效率更高(相对于LinkedList来说)
线程不安全

LinkedList集合
LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。
LinkedList是一个双向链表,每一个节点都拥有指向前后节点的引用。相比于ArrayList来说,LinkedList的随机访问效率更低。
它继承AbstractSequentialList,实现了List, Deque, Cloneable, Serializable接口。
LinkedList实现List,得到了List集合框架基础功能。

list常用方法
A:添加功能
boolean add(E e):向集合中添加一个元素
void add(int index, E element):在指定位置添加元素
boolean addAll(Collection c):向集合中添加一个集合的元素。

B:删除功能
void clear():删除集合中的所有元素
E remove(int index):根据指定索引删除元素,并把删除的元素返回
boolean remove(Object o):从集合中删除指定的元素
boolean removeAll(Collection c):从集合中删除一个指定的集合元素。

C:修改功能
E set(int index, E element):把指定索引位置的元素修改为指定的值,返回修改前的值。

D:获取功能
E get(int index):获取指定位置的元素
Iterator iterator():就是用来获取集合中每一个元素。

E:判断功能
boolean isEmpty():判断集合是否为空。
boolean contains(Object o):判断集合中是否存在指定的元素。
boolean containsAll(Collection c):判断集合中是否存在指定的一个集合中的元素。

F:长度功能
int size():获取集合中的元素个数

G:把集合转换成数组
Object[] toArray():把集合变成数组。

Java常用类 object类

Object类是Javajava.lang包下的核心类,Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类

类定义:
class Person { }
class Person extends Object { }

使用object类型接收所有类数据:

class Person{}
class Student{}
pbulic class Test {
public static void main (string[] args)
{       object per=new Person();
        object stu=new Student();
 }
 }

Object类的常用方法:
toString( ) 取得对象信息
equals() 对象内容比较

string类

创建方式1:赋值常量

String str = "hihihi";

使用双引号括起来的内容叫字符串常量值.

创建方式2:
通过字节数组创建字符串

String(byte[] bytes,String charset)
bytes 		字节数组
charset 	字符编码,一般使用UTF-8

String常用方法

1、获得字符串长度

int length()

2、获得子字符串出现的位置

int indexOf(String s) 		

3、在字符串中查找子字符串第一次出现的位置,没找到返回-1;

int indexOf(String s,int start)   

4、指定了开始查找的位置

int lastIndexOf(String s)		

5、截取字符串

String substring(int start,int end)
String substring(int start)

6、替换

String replace(String oldStr,String newStr)

7、大小写转换

String toUpperCase() 大写
String toLowerCase() 小写
StringBuilder类

如果字符串变量需要频繁修改,就会创建大量字符串对象,大量消耗内存空间。
为了解决这个问题,可以使用StringBuilder。

String和StringBuilder的区别:

String的字符串是不可修改,如果修改会创建新字符串,浪费内存。
StringBuilder的字符串是可以修改的,不会创建新字符串。

两种创建方式

创建空值的对象

StringBuilder strb = new StringBuilder();

创建有默认值的对象

StringBuilder strb = new StringBuilder("默认值");

stringBulider类的常用方法
转换为String

String toString() 

追加

StringBuilder append(String str) 

替换

StringBuilder replace(int start,int end,String newS) 

插入

StringBuilder insert(int offset,String s) 

删除

StringBuilder delete(int start,int end)

反转

java
StringBuilder reverse() 

stringBuffer类

tringBuffer 类是可变字符串类,创建 StringBuffer 类的对象后可以随意修改字符串的内容。每个 StringBuffer 类的对象都能够存储指定容量的字符串,如果字符串的长度超过了 StringBuffer 类对象的容量,则该对象的容量会自动扩大。

stringBuffer类的创建方法
StringBuffer str1 = new StringBuffer();
// 定义一个含有10个字符容量的字符串缓冲区
StringBuffer str2 = new StringBuffer(10);
// 定义一个含有(16+4)的字符串缓冲区,"青春无悔"为4个字符
StringBuffer str3 = new StringBuffer("青春无悔");

System.out.println(str1.capacity());    // 输出 
System.out.println(str2.capacity());    // 输出 
system类

System类
作用 用法

java
currentTimeMillis()	获得当前系统时间的毫秒数
gc()	调用垃圾收集器
exit(int status)	退出系统
date类

Date(int year, int month, int date); 直接写入年份是得不到正确的结果的。 因为java中Date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。 月需要减1,日可以直接插入。 这种方法用的比较少,常用的是第二种方法。

date类的创建
1、创建一个当前时间的Date对象

public static void main(String[] args)
 {
    Date date = new Date();
    System.out.println(date);
  }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号