正好有时间看下数组和集合的一些挺实用的操作,在这里记载一些,下次找起来方便些。
@Test
public void test() {
String str = "ab";
String[] strs = {"a", "b", str};
String[] list = Arrays.copyOfRange(strs, 0, 2);
System.out.println(Arrays.toString(list));
System.out.println(Arrays.asList(strs).contains("a"));
System.out.println(Arrays.asList(strs).contains(str));
List<String> list1 = Arrays.asList(strs);
List<String> l = list1.subList(0, list1.size());
System.out.println(l.toString());
}1.截取数组,Arrays.CopyOfRange(数组,起始下标,截取位数);
2.截取集合(List):List.subList(起始下标,截取个数);一起只知道String有这个函数,没想到list也有个这么方便的。
3.数组转成集合:Arrays.asList();转成的应该是ArrayList,不然无法解释有序的问题;
4.集合是否包含某个元素:List.contains(xx);上面是把数组转成List做得操作,String类型此时返回是true(可以测试试试)
5.输出数组元素:Arrays.toString(xx[]); 输出集合元素:list.toString() 只是输出都会带有[] 中括号
6.去中括号[],没试过:System.out.println(StringUtils.strip(list.toString(),"[]")); 刚测了一波,这个StringUtils有用(虽然在我的理解上来看把[]当一个字符串传也有点意思)
7.加一个对arraylist的insert方法的解析
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(0);
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println(list);
list.add(2, 7);
System.out.println(list);
}
}
1
2
3
输出:
[0, 1, 2, 3, 4, 5]
[0, 1, 7, 2, 3, 4, 5] :arraylist和linklist最大的不同在于一个用数组实现,一个用链表实现,一个优于查找,一个优于插删,但有一个共通的地方,如果只是用add()方法插入的话,都是追加插入,arraylist只需要在最后追加一个值,增加速度不差于linklist,但如果是指定位置插入,就需要移动数组其它部分的地址,时间开销由此而来。
本文介绍了Java中数组和集合的实用操作方法,包括数组截取、转换为集合、检查元素是否存在等,并提供了示例代码。同时,还讨论了ArrayList的插入操作及其实现原理。
249

被折叠的 条评论
为什么被折叠?



