java集合类编写代码 java集合类编程题

java集合类问题

1) System.out.println(list);

站在用户的角度思考问题,与客户深入沟通,找到青田网站设计与青田网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖青田地区。

2) [Hello,Java,Learn,World]

3)改第一句List list=new LinkedList();

1. ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

2. 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

3. 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

4. ArrayList的空间浪费主要体现在在list列表的结尾预留一定的容量空间,而LinkedList的空间花费则体现在它的每一个元素都需要消耗相当的空间。

4)Vector list=new Vector();

1. Vectors是可同步化的,意思就是说,任何操作Vector的内容的方法都是线程安全的,相反的,另一方面,ArrayList是不可同步化的,所以也不是线程安全的。

2. 不管是ArrayList还是Vector,在它们内部都是使用一个数组来保存数据的。开发过程中,在使用它们任何一个的时候,你都需要记住这一点。你在往一个ArrayList或者Vector里插入一个元素的时候,如果内部数组空间不够了,ArrayList或者Vector就要扩展它的大小。Vector在默认情况下是增长一倍的大小,而ArrayList增加50%的大小。

对于集合类的操作的java代码实现的方法

//我用集合框架的老大跟子类ArrayList给你写个例子

import java.util.*;

public class CollectionDemo{

public static void main(String[] args){

Collection c = new ArrayList();

//增加

c.add("Java01");

c.add("Java02");

//删除0角标的值

c.remove(0);

//排序  为了方便,我把集合框架转成了String[]数组

String[] arr = new String[c.size()];

arr = c.toArray();

Arrays.sort(arr);

//最大值

System.out.println(arr[arr.length-1]);

//因为我是String字符串集合值,没办法比较平均值,可以更改为Interger

}

}

用java编写程序,求集合的并集、交集和差集

public static void  main(String[] args) {

Integer[] A = {1,2,3,4};

Integer[] B = {1,3,7,9,11};

ListInteger listA = Arrays.asList(A);

ListInteger listB = Arrays.asList(B);

ListInteger jiaoji = new ArrayListInteger();

for(Integer a:listA){

if(listB.contains(a)){

jiaoji.add(a);

}

}

System.out.println(jiaoji);

ListInteger bingji = new ArrayListInteger();

for(Integer a:listA){

if(!bingji.contains(a)){

bingji.add(a);

}

}

for(Integer b:listB){

if(!bingji.contains(b)){

bingji.add(b);

}

}

System.out.println(bingji);

ListInteger chaji = new ArrayListInteger();

for(Integer a:listA){

if(!listB.contains(a)){

chaji.add(a);

}

}

System.out.println(chaji);

}

JAVA 集合类

TreeSet应该是用泛型编写的,你怎么没数据类型饿

原因很简单,你反序的语句

Collections.reverse(new ArrayList(Arrays.asList(col.toArray())));

实际上是把一个新new的arrayList对象反序,而不是把col反序

Java求集合编写

package com.dy.test;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Map;

import java.util.Random;

import java.util.Set;

import java.util.TreeMap;

import java.util.TreeSet;

public class Test {

public static void main(String[] args) throws IOException {

Student[] stu = new Student[10];

stu[0] = new Student("20170101", "小明", new Random().nextInt(41) + 60);

stu[1] = new Student("20170102", "小红", new Random().nextInt(41) + 60);

stu[2] = new Student("20170103", "小华", new Random().nextInt(41) + 60);

stu[3] = new Student("20170104", "小风", new Random().nextInt(41) + 60);

stu[4] = new Student("20170105", "小黄", new Random().nextInt(41) + 60);

stu[5] = new Student("20170106", "小绿", new Random().nextInt(41) + 60);

stu[6] = new Student("20170107", "小帅", new Random().nextInt(41) + 60);

stu[7] = new Student("20170108", "小黑", new Random().nextInt(41) + 60);

stu[8] = new Student("20170109", "小军", new Random().nextInt(41) + 60);

stu[9] = new Student("20170110", "小胖", new Random().nextInt(41) + 60);

System.out.println("排序前:");

for (int i = 0; i  stu.length; i++) {

System.out.println(stu[i]);

}

// List集合

ListStudent stuList = new ArrayListStudent();

for (int i = 0; i  stu.length; i++) {

stuList.add(stu[i]);

}

System.out.println("List排序:");

Collections.sort(stuList); // 排序方法

for (int i = 0; i  stuList.size(); i++) {

System.out.println(stuList.get(i));

}

// Set集合

SetStudent stuSet = new TreeSetStudent(); // TreeSet自动排序

for (int i = 0; i  stu.length; i++) {

stuSet.add(stu[i]);

}

System.out.println("Set排序:");

for (int i = 0; i  stuSet.size(); i++) {

System.out.println(stuSet.toArray()[i]);

}

// Map

MapStudent, Object stuMap = new TreeMapStudent, Object(); // TreeMap自动排序

for (int i = 0; i  stu.length; i++) {

stuMap.put(stu[i], i);

}

System.out.println("Map排序:");

Object[] keys = stuMap.keySet().toArray();

for (int i = 0; i  keys.length; i++) {

System.out.println(keys[i]);

}

}

}

class Student implements ComparableStudent {

private String sid;

private String sname;

private int score;

public Student(String sid, String sname, int score) {

super();

this.sid = sid;

this.sname = sname;

this.score = score;

}

public String getSid() {

return sid;

}

public void setSid(String sid) {

this.sid = sid;

}

public String getSname() {

return sname;

}

public void setSname(String sname) {

this.sname = sname;

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

@Override

public int compareTo(Student o) {

//  return this.score - o.getScore(); // 从低到高

int r = o.getScore() - this.score; // 从高到低

return r == 0 ? o.getSid().hashCode() - sid.hashCode() : r;

}

@Override

public String toString() {

return sname + "(" + sid + ") " + score + "分";

}

}

运行效果:

1. 如何用java设计一个集合类Set,并编写应用程序创建两个Set对象

Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.ComparatorType接口来自定义排序方式。Set中不能有重复对象,那么它是如何判断要加入到集合中的对象是否重复呢?当要加入一个对象到Set集合中时,会先调用该对象的hashcode()方法,根据hashcode来确定该对象应该放在哪个内存地址上。如果计算出的内存地址中已经放入了对象,那说明这两个对象相同,就不会将这个对象加入到集合中。如果计算出的内存地址中没有放入对象,则调用该对象的equals()方法,把它与集合中每一个对象进行比较,看这两个对象是否相同。如果相同,则不加入这个对象到Set集合中。如果不同则加入该对象。


分享名称:java集合类编写代码 java集合类编程题
文章来源:http://scjbc.cn/article/hiodep.html

其他资讯