最后各人的信息如何?
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
练习题
java
集合
B. 用java编写程序,求集合的并集、交集和差集
publicstaticvoidmain(String[]args){
Integer[]A={1,2,3,4};
Integer[]B={1,3,7,9,11};
List<Integer>listA=Arrays.asList(A);
List<Integer>listB=Arrays.asList(B);
List<Integer>jiaoji=newArrayList<Integer>();
for(Integera:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
List<Integer>bingji=newArrayList<Integer>();
for(Integera:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integerb:listB){
if(!bingji.contains(b)){
bingji.add(b);
}
}
System.out.println(bingji);
List<Integer>chaji=newArrayList<Integer>();
for(Integera:listA){
if(!listB.contains(a)){
chaji.add(a);
}
}
System.out.println(chaji);
}
C. Java面试题-基础+集合原理(一)
—、面向对象的特征
面向对象的三个基本特征是:封装、继承、多态。
1、封装
封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让 可信的类或者对象操作,对不可信的进行信息隐藏。
2、继承
面向对象编程(OOP)语言的一个主要功能就是“继承”。继承是指这样一种能力: 它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能 进行扩展。
3、多态
多态性(polymorphism是允许你将父对象设置成为和一个或更多的他的子对象 相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同 的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的 指针。
实现多态,有二种方式,重写,重载。
详见如下:网页链接
D. 数构java题,集合类,急求
按照题目的要求编写的Java程序如下
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
publicclassSetClass{
char[]a;
publicstaticvoidmain(String[]args){
SetClasss=newSetClass();
Scannersc=newScanner(System.in);
Strings1=sc.next();
Strings2=sc.next();
s.a=s1.toCharArray();
char[]b=s2.toCharArray();
char[]c=s.intersect(b);
if(c==null||c.length==0){
System.out.println("null");
}else{
System.out.println(String.valueOf(c));
}
}
publicchar[]intersect(char[]b){
List<Character>la=newArrayList<Character>();
List<Character>lb=newArrayList<Character>();
for(inti=0;i<a.length;i++)
la.add(a[i]);
for(inti=0;i<b.length;i++)
lb.add(b[i]);
la.retainAll(lb);
char[]c=newchar[la.size()];
for(inti=0;i<la.size();i++)
c[i]=la.get(i);
returnc;
}
}
运行结果
ABC BBB
B
E. Java集合程序题求大神解答
先创建一个学生类,然后以学生类的学号做键,学生对象做值加入map集合,然后执行相应的操作就可以了。
F. 有谁会java的编程题
public void taohaoshu(){
/**
最多有100个元素自己判断,我只给模拟算法
*/
int ishu = 0;//初始化好数对数的个数是0
//模拟集合A
Integer[] a = {1,2,3,4};
List aList = Arrays.asList(a);
List tempList = new ArrayList();//定义一个数组存放已配过对的数值
//遍历集合,让不同的元素各相加一次
for(int i = 0;i<aList.size();i++){
Integer num1 = (Integer) aList.get(i);
for(int j = 0;j<aList.size();j++){
//自身和自身不能相加
if(i == j){
continue;
}
Integer num2 = (Integer) aList.get(j);
Integer sum = num1 +num2;
//判断相加后的数值是否在原集合中存在
boolean contains = aList.contains(sum);
String tempStr = null;
if(num1<=num2){
tempStr = num1+""+num2;
}else{
tempStr = num2+""+num1;
}
//判断是否出现相同的好数对数出现 比如1+2 和 2+1
boolean contains1 = tempList.contains(tempStr);
if(contains && !contains1){
tempList.add(tempStr);
ishu++;
}
}
}
System.out.println(ishu);
}
G. java集合题
呵呵我记得这是培训班的第3周的考试试题,其实很简单
class Student {
int id;
String name;
String kemu;
int chengji;
}
根据这个做数组把这三个元素放到对应的数组就完事
idT[]
nameT[]
kemu[]
chengji[]
然后
System.out.print("id:"+id[n]+"name:"+name[n]+"科目:"+kemu[x]+""+.....);
H. Java 编程基础题:io流和集合综合相关的题目不会做,哪位大神来看一下
此需求的关键点主要是两个:
1、IO读取文本信息;
2、TreeSet的排序问题。
解决过程如下:
首先通过TreeSet(Comparator<? super E>comparator) 构造方法指定TreeSet的比较器进行排序,而创建自己的实现比较器。
packagetest.treeset;
importjava.util.Comparator;
<Student>{
@Override
publicintcompare(Studentstu1,Studentstu2){
if(stu1.getScore()>stu2.getScore()){
return-1;
}elseif(stu1.getScore()==stu2.getScore()){
if(stu1.getAge()>stu2.getAge()){
return-1;
}elseif(stu1.getAge()==stu2.getAge()){
return0;
}else{
return1;
}
}else{
return1;
}
}
}
创建学生Bean类
packagetest.treeset;
importjava.io.Serializable;
{
privateStringname;
privateintage;
privateintscore;
publicStudent(Stringname,intage,intscore){
this.name=name;
this.age=age;
this.score=score;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicintgetScore(){
returnscore;
}
publicvoidsetScore(intscore){
this.score=score;
}
@Override
publicStringtoString(){
returnname+"-"+age+"-"+score;
}
}
创建实现类,实现对文件的读取已经将读取内容实例化入Student中,添加入TreeSet中排序,之后顺序打印TreeSet数据。
packagetest.treeset;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.UnsupportedEncodingException;
importjava.util.TreeSet;
/**
*已知项目根目录下student_info.txt文件中有如下数据:(姓名-年龄-总分)
*lucy-28-98
*lily-23-97
*robt-25-100
*wili-15-100
*klin-29-93搜索
*运用IO技术获取将该文件中的数据分别封装成5个Student(姓名为String类型,年龄为int类型,总分为int类型)对象存入TreeSet集合中(需要自己定义Student类)
*要求:
*根据学生的总分进行排序(降序),如果分数相同则比较年龄,年龄较大的排在前面。
*按照排序完的顺序将所有信息打印到控制台上:
*打印格式如下:
*robt-25-100
*wili-15-100
*lucy-28-98
*lily-23-97
*klin-29-93
*/
publicclassIoReadTest{
publicstaticvoidmain(String[]args){
TreeSet<Student>set=newTreeSet<Student>(newMyComparator());
try{
FileInputStreamfis=newFileInputStream(newFile("D:\student_info.txt"));
InputStreamReaderisr=newInputStreamReader(fis,"UTF-8");
BufferedReaderbr=newBufferedReader(isr);
Stringstr="";
while((str=br.readLine())!=null){
String[]info=str.split("-");
Stringname=info[0];
intage=Integer.parseInt(info[1]);
intscore=Integer.parseInt(info[2]);
Studentstudent=newStudent(name,age,score);
set.add(student);
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
for(Studentstudent:set){
System.out.println(student);
}
}
}
运行后输出结果
robt-25-100
wili-15-100
lucy-28-98
lily-23-97
klin-29-93