ArrayList和subList方法

来源:互联网 发布:ping 域名ip 编辑:程序博客网 时间:2024/06/05 16:21

ArrayList

package learn;import java.util.ArrayList;import java.util.List;/** * a.equals(b) == true时 我们就认为a和b相等 * List比Collection多了get和set方法 * ArrayList中set方法为修改,不能设置到没有对象的位置 * ArrayList适用于查找 * LinkedList适用于增加和删除 * LinkedList 有增加删除获取头尾结点等方法 */public class TestList {public static void main(String[] args) {ArrayList<Point> list = new ArrayList<Point>();list.add(new Point(1, 2));list.add(new Point(3, 4));list.add(new Point(5, 6));System.out.println(list);// list 重写了toString方法Point p = new Point(3, 4);boolean b = list.contains(p);//其中调用equals的方法判断两个对象是否相等System.out.println(b);//通过下标访问List集合中的元素 定义在List方法在中List<String> list2 = new ArrayList<String>();list2.add("1");list2.add("2");list2.add("3");//当2变成3时,将会运行出错,带入的值不能大于list.size() //返回的对象是替代的对象 Object obj = list2.set(2, "998"); System.out.println("set 结果 :"+obj.toString());//list的长度是无限的 与数组之间的区别for (int i = 0; i < list2.size(); i++) {String str = (String) list2.get(i);//返回指定下标位置的对象,对象强制转换为字符串System.out.println(str);// i和j位置 数据的转换//list.set(i,list.set(j,list.get(i)));}//基于下标的add和removeList<Integer> list3 = new ArrayList<Integer>();list3.add(1);//Integer 自动装箱list3.add(2);list3.add(3);System.out.println(list3);//将新元素加到下标的前面list3.add(1,6);//与list.add(3,6)的区别System.out.println(list3);list3.remove(0);System.out.println(list3);}}

subList方法

package com.cloud.learn;import java.util.ArrayList;import java.util.List;/** * subList获取的List与原List占有相同的存储空间 * 对子List的操作会影响原List 相当于取原List的一块对象进行操作 * subList()取的下标,前包括后不包括 */public class TestSubList {public static void main(String[] args) {List<Integer> list = new ArrayList<Integer>();for (int i = 1; i < 6; i++) {list.add(i);}List<Integer> subList = list.subList(2, 4);System.out.println(list);System.out.println(subList);subList.clear();System.out.println(list);}}

原创粉丝点击