String a = “abc”;
int a1 =123;
String b = a+b;
一个字符串加上一个整形还是字符串类型
Date date1 = new Date();
long time = date1.getTime();
这里的time值单位是毫秒
如果要计算程序运算时间,那么可以在程序开始时创建一个date类,等程序再结束的时候再声明一个date类,用后面设置出来减第一个声明出来的就是程序运行的时间毫秒。例如:
Date date = new Date();
long time1 = date.getTime();
for (int i = 0; i <20000000 ; i++) {
for (int j = 0; j < 2; j++) {
// System.out.println(i);
break;
}
}
Date date1 = new Date();
long time = date1.getTime();
System.out.println(time-time1);
----------------------------------------------
集合转为数组,数组转为字符串
List list = new ArrayList<>();
list.add(“123”);
list.add(“456”);
list.add(“789”);
String[] a = new String[list.size()];
String[] strings = list.toArray(a);
String s = Arrays.toString(strings);
System.out.println(s);
这里用的方法时toArray()方法,提前声明一个数据类型和列表一样的数组用来接收存取的数据并同时能设置数组的大小。
然后就用集合的toArray()方法转为数组,括号里面填写声明出来的集合名称,然后再使用Arrays里面的toString方法把数组转为字符串。
-------------------------------------------
字符串转为数组,数组转为集合
String a = “123,456,789”;
String[] split = a.split(",");
List list = Arrays.asList(split);
把字符串转为数组的方式有(目前我了解的)两种,一种就是string类的方法split();另一种是string类的方法toCharArray();第一种是通过分割把值分开并放在数组里,第二种是字符型数组,这里用的是第一种。转成数组后用Arrays里面的方法asList()方法转为集合
-----------------------------------------
Vector类
Vector b = new Vector();
他的构造函数有三种
第一种是默认的空参构造,也就是声明出来参数什么也不填写
他的容量大小为10,当容量超出使时会自动扩增一倍,依次循环
Vector b = new Vector(30);
第二种是传入一个参数的构造,这种就是设置一下它的默认容量为30,如果超出了就自动扩容一倍,依次循环。
Vector b = new Vector(30,20);
这种是第三种,也就是默认设置的容量大小为30,当容量超出时,扩增20,也就是容量再扩大20,然后每次扩增都是20,并不是像前两种一样增加自身当前的倍数。
它的方法也很多,例如:
添加:addElement()
不建议直接添加数据,类型是Object
Interger a =123;
b.addElement(a);
添加的类型不受限制,任何类型都可以添加。
b.addElement(int index,Object b)
这种添加的方式是插入添加,index是他要插入的位置索引,会把后面的值自动往后推一格,注意不要插入还没到的索引,也就是大概越界,里面存的数据还不到5个,你存到第十个索引的位置,那是会报错的。
删除remove()
删除的方法参数有多种,可以用全部删除的也可以通过索引删除的。
b.remove(2);通过索引删除
b.remove(“123456”)通过内容删除
b.removeAllElements()删除所有内容
修改set()
b.set(0,“123”);通过索引把值修改了
b.set(“123456”,0);第一个参数填写的是要修改后的值,第二个是索引的位置,这里注意我这里的值用的是Object类型
查找方法也很多
b.indexOf()是从头开始往尾查,里面可以填写两个参数,也可以不填写,是从填写的索引位置往尾查
b.lastIndexOf()是从尾往头查,同理这个和第一个一样
b.firstElement();返回第一个对象值
b.lastElement();返回最后一个对象值
----------------------------------------------
List
List list = new ArrayList(); 这种是集合声明出来没有设置参数类型的格式,里面可以存放多种类型的数据
list.add(123);
list.add(“你好”);
list.add(1.23);
for (Object o : list) {
System.out.println(o);
}遍历输出的数据就是123,你好,1.23
其他集合也是一样的。
----------------------------------------------
HashMap
首先它是无序的,哈希算法存值和取值的时候没有顺序性。可以理解为通过value值删除掉value值,不通过key的值(才发现也不是很懂)
HashMap<Integer, String> a = new HashMap<>();
a.put(1, “3”);
a.put(2, “2”);
a.put(3, “1”);
Collection values = a.values();这里用的是values()方法把HashMap里面的所有value值存在一个地方(具体我也不是很清楚)
values.remove(“3”);
然后在这里使用remove()方法删除内容,然后再通过key去取对应的值已经是null值了
a.get(1);此时是个null值
----------------------------------------------
LinkedHashMap
首先这个是有顺序的,同时也是双向链,存放的是键值对
LinkedHashMap<Integer, String> a = new LinkedHashMap<>();
a.put(key,value);这是添加数据的方式,其实大概意思就是把索引为key的值改为value,它是有原始值的是个null值,也可以直接输出即使没有给这个附过值也是可以取到的,是个空值null.(个人理解可能有误见谅)
a.keySet().iterator();是拿到所有的key值,用的方法时keySet然后再使用迭代器拿出来;
a.values().iterator(); 是拿到所有的values值,用的方式是values然后再使用迭代器拿出来;
a.forEach();这也是一种类似遍历的方法可以取出集合里面的所有值
使用方法是:
a.forEach((key,value) -> System.out.println(key) );这样输出的就是集合里面的key值
a.forEach((key,value) -> System.out.println(value) );这样输出的就是集合里面的key值
这个方法还有这种使用方式
a.forEach((key,value) -> {
System.out.println(key)
System.out.println(value)
} );这样输出的就是集合里面的key值和value值
a.entrySet()这个方法是拿到集合里面所有的键值对,然后也可以使用迭代器把键值对给输出
a.containsValue()这个方法是检测集合里面有没有存在的值,括号里面填写要查找的值,返回值是boolean值
LinkedHashSet
首先这是一个有序的,并且是没有重复的
LinkedHashSet a = new LinkedHashSet<>();
a.add(1);
a.add(2);
a.add(2);
a.add(3);
for (Integer integer : a) {
System.out.println(integer);
}输出的结果只有1,2,3并不是1,2,2,3.