A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

1.ArrayList特点

a.长度可变
b.:是一种特殊数据类型,泛型,只能用引用数据类型替换

1.1.ArrayList类的常用方法

a.添加元素
b.获取元素
c.获取长度
d.删除元素
e.修改元素

package day_15;

import java.util.ArrayList;

class ArrayList_classs {
    public static void main(String[] args) {
        //1.创建集合对象
        ArrayList<String> strings = new ArrayList<>();
        //2.添加元素
        //public boolean add(E e);
        strings.add("helloword");
        strings.add("good");
        strings.add("nice");
        //指定索引处添加元素,原来索引处的元素往移动了一位
        //public void add(int index, E element);
        strings.add(1, "cool");
        //输出元素
        //直接输出ArrayList对象
        System.out.println(strings);
        //3.返回指定索引的元素,对原集合不产生任何影响
        //public E get(int index);
        System.out.println(strings.get(0));
        //public int size();
        System.out.println(strings.size());
        //4.删除元素,返回是否删除成功
        //删除元素对原来集合是产生影响的
        //public boolean remove(Object o);
        System.out.println(strings.remove("good"));
        //删除元素,返回被删除的元素
        //public E remove(int index);
        System.out.println(strings.remove(1));
        //5.修改指定索引处的元素,返回被修改的元素
        //public E set(int index, E element)
        //对原集合是会产生影响的
        System.out.println(strings.set(0, "dadadad"));
    }
}


2.ArrayList集合的遍历

package day_15;

import java.util.ArrayList;

/**
* 集合的遍历
* 1.逐个打印
* 2.for循环语句输出
*/
class ArrayList_classs {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> strings = new ArrayList<>();
        //添加元素
        //public boolean add(E e);
        strings.add("hello");
        strings.add("world");
        strings.add("nice!");
       //1.for循环遍历数组
        for (int i = 0; i < strings.size(); i++) {
            String string = strings.get(i);
            System.out.println(string);
        }
    }
}

3.Hashset集合

3.1 set集合的特点

a.存入集合的顺序与取出的顺序不一致

package day_15;

import java.util.HashSet;

public class set_class {
    public static void main(String[] args) {
        HashSet<String> hashset = new HashSet<String>();
        hashset.add("zhang");
        hashset.add("xiao");
        hashset.add("caicai");
        for(String str:hashset){
            System.out.println(str);
        }
    }
}


结果:
xiao
caicai
zhang

Process finished with exit code 0

b.集合中的元素没有索引
c.集合中的元素没有重复:
Hashset元素的唯一性
package day_15;

import java.util.HashSet;

public class set_class {
    public static void main(String[] args) {
        HashSet<String> hashset = new HashSet<String>();
        hashset.add("caicai");
        hashset.add("caicai");
        for(String str:hashset){
            System.out.println(str);
        }
    }
}

结果:
caicai

Process finished with exit code 0

1.先将元素的hash值与集合中的每一个元素的hash值进行比较 2.如果hash值相同,则不将元素存入集合,否则执行3 3.将元素用equals()方法与集合中的元素进行逐个比较,相等不存入元素否则执行4 4. 将元素存入集合
4.collection与collections的区别

collection是集合体系的最高层,包含了集合的共性
collections是一个工具类,他的方法用来操作colection;

5.collections集合中的方法

5.1 static void swap(List list, int i, int j);
将集合中的制定给的元素进行交换
package day_15;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class set_class {
    public static void main(String[] args) {
        //static void swap(List list, int i, int j);
        //将制定集合中的两个元素交换
        List<String> list = new ArrayList<String>();
        list.add("cai");
        list.add("zhang");
        list.add("hui");
        Collections.swap(list, 0, 1);
        for(String s:list){
            System.out.println(s);
        }
    }
}

结果:
zhang
cai
hui


5.2 static void sirt(List) 根据自然顺序将制定的集合进行排序
package day_15;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class set_class {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(3);
        list.add(1);
        Collections.sort(list);
        for(Integer s :list){
            System.out.println(s);
        }
    }
}


结果:
1
2
3

5.3 static void shuffle(List list): 使用默认随机源对指定列表进行置换。 每一次运行就会得到不同的结果
package day_15;

        import java.util.ArrayList;
        import java.util.Collections;
        import java.util.List;

public class set_class {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(3);
        list.add(1);
        Collections.shuffle(list);
        for(Integer s :list){
            System.out.println(s);
        }

结果: 1 2 3或者3 2 1

5.4 static void reverse(List list); 将指定的List集合元素反转
5.5 static void fill(List ist, Object obj);
使用指定的对象填充指定列表的所有元素

package day_15;

        import java.util.ArrayList;
        import java.util.Collections;
        import java.util.List;

public class set_class {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        list.add(3);
        list.add(1);
        Collections.fill(list,6);
        for(Integer s :list){
            System.out.println(s);
        }
    }
}

结果:
6
6
6


5.6 statc void copy(List dest, List src)
把原列表中的数据覆盖到目标列标中
如果原集合长度大于目标列表长度,则会抛出IndexOutOfBoundsException异常;如果小于目标集合长度,会将个别元素覆盖。
package day_15;

        import java.util.ArrayList;
        import java.util.Collections;
        import java.util.List;

public class set_class {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(5);
        list1.add(6);
        Collections.copy(list1,list);
        for(Integer s :list1){
            System.out.println(s);
        }
    }
}

结果:
2
6


5.7static int binarySearch(List list, Object key) 使用二分法查找指定元素在指定列表中的位置,返回该元素的索引,找不到返回-1;
package day_15;

        import java.util.ArrayList;
        import java.util.Collections;
        import java.util.List;

public class set_class {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(2);
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(5);
        list1.add(6);
        int i = Collections.binarySearch(list1, 6);
        System.out.println(i);
    }
}

---------------------
【转载,仅作分享,侵删】
作者:初心魏
原文:https://blog.csdn.net/qq_42306803/article/details/86260419


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马