Java 容器篇:Collection 下的Set和List的基本认识和用法

    科技2026-03-12  5

    Collection Set和List

    今天讨论Java的Set和List的基本用法。 首先说一下List List是重复且有序的一个容器。 collection List的代码

    import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.Scanner; public class collection { public static void main(String[] args) { Collection c=new ArrayList();//没有加泛型的,则没有限制它的数据类型 Collection<String > cc=new ArrayList <>(); Collection shuju=new ArrayList();//List 是有序且重复的 Scanner scanner=new Scanner(System.in); c.add("牛逼"); c.add(1); c.add(1511); c.add(1); Iterator iterator =c.iterator(); while (iterator.hasNext()) { Object ob=iterator.next(); System.out.println(ob); } cc.add("s"); System.out.println(c); System.out.println("========"); System.out.println(cc); c.remove(1); System.out.println("移除后的c"+c); //注:容器的里面存取的是元素的地址,而不是元素本身,remove移除的是存取在容器的元素地址,而不是元素本身 // c.clear(); // System.out.println(c); Object [] objects=new Object[3]; objects=c.toArray(); System.out.println(objects); System.out.println(c.contains(1511));//可以多查查Java帮助文档 System.out.println("请输入"); shuju.add(scanner.nextInt());//也可以这么用 System.out.println("存取结果为"+shuju); } }

    解析:

    Collection<String > cc=new ArrayList <>();

    这里加了个泛型实际上是限定传进去的数据类型,<数据类型>这里可以定义你想要的数据类型,但是例如int类型,就不能直接int类型了。具体的解析可以去看看Java的帮助文档,我这里是比较通俗的理解。

    c.add("牛逼");

    这里是添加元素地址的。 然后我们可以使用迭代器(迭代器的具体内容到后面会出一个博客专门解释,这次只说简单的使用)

    Iterator iterator =c.iterator();//获取目标容器的迭代 while (iterator.hasNext())//判断目标容器是否还有可迭代的东西,若有,则返回true { Object ob=iterator.next();//获取下一个迭代的东西 System.out.println(ob); }

    当然,你一可以这样简单的输出

    System.out.println(c);

    这里需要注意一下,remove并不是移除List里面的元素。容器List里面存放的是元素的地址,而不是元素本身,remove移除的是存入其中的地址,但是元素本身还在。

    c.remove(1);//移除目标元素的地址

    当然,你也可以用toArray();将其转换成Object的数组,然后输出。

    Object [] objects=new Object[3]; objects=c.toArray(); System.out.println(objects);

    +++++++++++++++++++++++++++++++++++++++++++++++++++++List基本使用完结

    Set的使用

    不说多,先上代码

    import java.util.*; public class Colletion_set { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); HashSet hashSet=new HashSet();//与LinkedHashSet一样,无序而不重复,Set和List都属于Colletion下的,所以有序 Collection c=new LinkedHashSet();//LinkedHashSet 有序而不重复的 c.add(1); c.add(1); c.add(2); for (int i=0;i<4;i++) { c.add(scanner.next());//这里的scaner.next()是可以输入任何类型的数据,区别一下类似.nextInt(); } System.out.println(c); hashSet.add(1511); hashSet.add(1511); hashSet.add(5858); System.out.println("hashSet:"+hashSet); System.out.println(hashSet.contains(1511));//具体功能看帮助文档 System.out.println("请开始为HashSet:"); for (int j=0;j<4;j++) { hashSet.add(scanner.next()); } System.out.println(hashSet); Iterator iterator=hashSet.iterator();//迭代器的用法 这里先使用最初的迭代器,具体写法后面再详解 while (iterator.hasNext())//如果是true,那么他会继续迭代更多的元素 { Object ss=iterator.next();//迭代下一个元素 System.out.println(ss);//输出元素 } } }

    具体详解在代码注释中,它的用法跟List相差不大,不过具体用法还要参考帮助文档。 好啦,Java容器篇开篇就到这了!

    Processed: 0.020, SQL: 11