⑴ 在java中,定义一个list,向里面添加几个数字,怎样实现选择性的输出,比如,输出其最大值,或者最小值。
private double x; //私有变量 双精度型 的 x
private double y; //私有变量 双精度型 的 y
Point(double x1, double y1) { //点类的带两个参数的构造方法,
x = x1; //把参数x1的值赋给x
y = y1; //把常识y1的值赋给y
}
public double getX()
public double getY()
public void setX(double i)
public void setY(double i)
}
class Circle { //圆类
private Point o;
private double radius;
Circle(Point p, double r) {
o = p;
radius = r;
}
Circle(double r) {
o = new Point(0.0, 0.0);
radius = r;
}
boolean contains(Point p) {
double x = p.getX() - o.getX();
double y = p.getY() - o.getY();
if(x*x + y*y > radius * radius) return false;
else return true;
}
public void setO(double x, double y) {
o.setX(x);
o.setY(y);
}
public Point getO()
public double getRadius()
public void setRadius(double r)
public double area() {
return 3.14 * radius * radius;
}
}
public class TestCircle { //主类
public static void main(String args[]) {
Circle c1 = new Circle(new Point(1.0,2.0), 2.0);
Circle c2 = new Circle(5.0);
System.out.println("c1:("+c1.getO().getX()+"," +c1.getO().getY()+"),"+c1.getRadius());
System.out.println("c2:("+c2.getO().getX()+","+c2.getO().getY()+"),"+c2.getRadius());
System.out.println("c1 area = "+c1.area());
System.out.println("c1 area = "+c2.area());
c1.setO(5,6);
c2.setRadius(9.0);
System.out.println("c1:("+c1.getO().getX()+","+c1.getO().getY()+"),"+c1.getRadius());
System.out.println("c2:("+c2.getO().getX()+","+c2.getO().getY()+"),"+c2.getRadius());
System.out.println("c1 area = "+c1.area());
System.out.println("c1 area = "+c2.area());
Point p1 = new Point(5.2, 6.3);
System.out.println(c1.contains(p1));
System.out.println(c1.contains(new Point(10.0,9.0)));
}
}
现成的,不过没给你改。自己按自己要求改下。
⑵ java中list最多可以存储多少条数据40万可以吗
和jdk配置的内存大小有关系,和list里存的数据结构有关系。
从语言上来看,java.util.List是个接口,其下有N多实现,最常用的是ArrayList和LinkedList及其各种继承或同步化实现(如Vector/Queue/Stack这些的)
ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUE
LinkedList内部是个链表,理论上是无限的
另外,List里放的东西都是在内存里的(当然你也可以自己实现一个放磁盘上的),因此能放多少也取决于你放的东西的大小以及种类。
大小方面很容易计算,一个对象如果1K,那400,000个就至少要占用400M的内存(不算其他占用)。
而虚拟机内存分类方面,如果是普通对象,一般占用的都是堆(Heap)空间,如果是常量或是类似String.intern()出来的东东,则占用的是永生带(Permanent Generation)。
实际开发中,虚拟机默认内存大小根据不同的虚拟机实现有所不同,可以在启动应用时用-Xmx调整最大堆大小,比如调整堆最大大小为2G:
java -Xmx2048m cn.gefostudio.App
调整永生带最大大小为1G:
java -XX:MaxPermSize=1024m cn.gefostudio.App
⑶ java list 最大能存多少数据
List的size()返回类型是int,决定了它最大存储数据是2的32次方
当然,这是理论大小,实际上要根据存储的对象占用空间大小来定
⑷ java中如何取得一组数字的最大值
以下是Java中的List,如果是数组,大同小异
packagecom;
importjava.util.ArrayList;
importjava.util.List;
publicclassTest{
publicstaticvoidmain(String[]args){
//初始化数组
List<Integer>nums=newArrayList<Integer>();
nums.add(2);
nums.add(5);
nums.add(10);
nums.add(6);
nums.add(3);
//设置最大值Max
intMax=Collections.max(nums);
System.out.println("Max="+Max);
}
}
⑸ java如何选取list中最大值
Collections.max(list);
⑹ JAVA四种整数数据类型的取值范围分别是多少
byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
List特点和常用方法
List是有序、可重复的容器。
有序指的是:List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。
可重复指的是:List允许加入重复的元素。更确切地讲,List通常允许满足e1.equals(e2)的元素重复加入容器;
除了Collection接口中的方法,List多了一些跟顺序(索引)有关的方法:
void add (int index, Object element)
在指定位置插入元素,以前元素通通后移一位
Object set (int index,Object element)
修改指定位置的元素
Object get (int index)
返回指定位置的元素
Object remove (int index)
删除指定位置的元素,后面元素通通前移一位
int indexOf (Object o)
返回第一个匹配元素的索引。如果没有该元素,返回-1
int lastIndexOf (Object o)
返回最后一个匹配元素的索引。如果没有该元素,返回-1
List接口常用的实现类有3个:ArrayList、LinkedList、Vector。
【示例1】List常用方法
看完之后自己写一遍试试,对你学习会很有帮助的